Spring Boot简单操作

目录

一、自定义异常页面

二、单元测试

​三、多环境选择

四、读取主配置文件中的属性

五、读取List属性


一、自定义异常页面

对于404、405、500等异常状态,服务器会给出默认的异常页面,而这些异常页面一般都是英文的,且非常不友好。我们可以通过简单的方式使用自定义异常页面,并将默认状态码页面进行替换

1、定义目录

在src/main/resources目录下再定义新的目录public/error,必须是这个目录名称

2、定义异常页面

扫描二维码关注公众号,回复: 6583838 查看本文章

3、修改处理器模拟500错误

 

4、访问效果

二、单元测试

1、定义接口

 

2、定义Service两个实现类

注意,实现类上要添加@Service注解,以交给Spring容器来管理

3、测试

三、多环境选择

下面将实现如下功能:存在开发与生产两种环境,不同环境使用不同配置文件,不同环境调用不同接口实现类。使用不同端口号对不同的配置文件加以区分

1、定义配置文件

说明:

在Spring Boot中多环境配置文件名需要满足application-{profile}.properties的格式,其中{profile}为对应的环境标识,例如,

  • application-dev.properties:开发环境
  • application-pro.properties:生产环境

至于哪个配置文件会被加载,则需要在application.properties文件中通过spring.profiles.active属性来设置,其值对应{profile}值。例如,spring.profiles.active=test就会加载application-test.properties配置文件内容。
在生产环境下,application.properties中一般配置通用内容,并设置spring.profiles.active属性的值为dev,即,直接指定要使用的配置文件为开发时的配置文件,而对于其它环境的选择,一般是通过命令行方式去激活。配置文件application-{profile}.properties中则配置各个环境的不同内容

2、定义业务代码

SomeService接口

SomeService实现类

SomeServiceImpl

OtherSomeServiceImpl

说明:

在实现类上添加@Profile注解,并在注解参数中指定前述配置文件中的{profile}值,用于指定该实现类所适用的环境

3、定义处理器

4、Idea下运行与访问

配置dev环境

配置pro环境

5、在命令行下选择环境

例如,现在的主配置文件中指定的是dev环境

打包

将当前工程打为Jar包后,在命令行运行时添加如下参数


此时执行的就是生产环境,调用的就是ProduceServiceImpl类。

说明:

在命令行中添加的参数可以是写在配置文件中的任意属性。其原理是命令行设置的属性值的优选级高于配置文件的

5、单配置文件实现方式

这种实现方式只能使用application.yml文件,使用application.properties文件好像文件本身就会出错

spring:
  profiles:
    active:
    - dev

---
spring:
  profiles: dev

server:
  port: 8888
  servlet:
    context-path: /xxx

---

spring:
  profiles: pro

server:
  port: 9999
  servlet:
    context-path: /yyyy

四、读取主配置文件中的属性

1、定义配置文件

2、定义配置属性类

package com.sping.boot.demo.bean;

import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.PropertySource;
import org.springframework.stereotype.Component;

@Component
@PropertySource(value = "classpath:MyApp.properties",encoding = "utf-8")
@ConfigurationProperties("game")
public class Game {
    private String name;
    private String sex;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }
}

说明:

  • @ProertySource用于指定要读取的配置文件
  • @ConfigurationProperties用于指定要读取配置文件中的对象属性,即指定要读取的配置文件属性的前辍
  • @Component表示当前从配置文件读取来的对象,由Spring容器创建
  •  要保证类的属性名要与配置文件中的对象属性名相同

3、修改SomeController类

五、读取List<String>属性

1、导入依赖

<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-configuration-processor</artifactId>
</dependency>

2、定义配置文件

3、定义配置属性类

4、修改SomeController类

猜你喜欢

转载自blog.csdn.net/u012965203/article/details/92997389