2.1 全局配置文件
2.1.1 application.properties配置文件
2.1.2 application.yaml配置文件
YAML文件格式:是Spring Boot支持的一种JSON超文集文件格式,YAML文件以数据为核心,是一种更为直观且容易被计算机识别的数据序列化格式
application.yaml文件使用“key:(空格)value”格式配置属性
yaml 配置文件的语法推荐文章:https://www.cnblogs.com/jonrain0625/p/11326790.html
application.properties配置文件的优先级高于application.yaml配置文件
2.2 配置文件属性值的注入
2.2.1 使用@ConfigurationProperties注入属性
@ConfigurationProperties:用于将配置文件中的自定义属性值批量注入某个Bean对象的多个对应属性中
@Component
@ConfigurationProperties(prefix = "person")
public class Person {
private int id;
public void setId(int id) {
this.id = id;
}
}
@ConfigurationProperties必须用setxx()方法来注入属性
2.2.2 使用@Value注入属性
@Component
public class Person {
private int id;
@Value("${Person.id}")
}
@Value注入属性类型只能是基本数据类型
两种注解对比分析:
(1)如果只是针对某一个业务需求,要引入配置文件中的个别属性值,推荐使用@Value注解
(2)如果针对某个JavaBean类,需要批量注入属性值,则推荐使用@ConfigurationProperties注解
2.3 Spring Boot自定义配置
2.3.1 使用@PropertySource加载配置文件
@PropertySource注解:指定自定义配置文件的位置和名称
@Configuration注解:将实体类指定为自定义配置类
2.3.2 使用@ImportResource加载XML配置文件
@ImportResource注解:可以将外部的XML文件加载到程序中
2.3.3 使用@Configuration编写自定义配置类
在Spring Boot“约定大于配置”的思想,更推荐使用配置类的方式代替XML配置
@Configuration:可以指定配置类,作用和XML配置是一样的,配置类中@Bean注解方法返回的对象都将作为Bean注入Spring容器,默认情况下,使用@Bean注解的方法名就是组件名
2.4 Profile多环境配置
2.4.1 使用Profile文件进行多环境配置
Profile文件:文件名必须满足application-{profile}.properties的格式,其中{profile}对应具体的环境标识
使用Profile文件多环境配置三步骤:
(1)编写对应环境的配置文件
application-dev.properties //开发环境配置文件
application-test.properties //测试环境配置文件
application-prod.properties //生产环境配置文件
(2)在控制台执行下列命令激活环境配置文件
java -jar xxx.jar --spring.profiles.active=dev
(3)在全局配置文件application.properties中配置激活环境属性
# 激活开发环境配置文件
spring.profiles.active=dev
2.4.2 使用Profile注解进行多环境配置
2.4 随机值设置以及参数间引用
(1)随机值设置
随机值设置语法格式:${random.xx},xx表示需要指定生成的随机数类型和范围,它可以生成随机数的整数,通用唯一识别码(UUID)或字符串等
my.string=${random.value} //配置随机字符串
my.number.less.than.ten=${random.int(10)} //配置小于10的随机整数
my.number.in.range=${random.int(10)} //配置范围在[1024,65536]之间的随机整数
(2)参数间引用
参数间引用的语法格式:${xx},xx表示先前在配置文件中已经配置过的属性名
app.name=MyApp
app.description=${app.name} is a Spring Boot application