一、参考资料
13-SpringBoot配置-项目外部配置加载顺序_哔哩哔哩_bilibili
二、配置
2.1 配置文件
注意变量后面是:,而不是等号=
2.2 读取配置文件
2.2.1 @Value
比如配置文件application.properities中定义了一个name,其值为abc。
代码里面只需按照如下方式获取:
@Value("${Person.name}")
private String name;
使用@Value方式获取配置文件的值,如果配置项的key不存在,也没有设置默认值,则程序直接报错
使用@Value方式默认值的设置方法:配置项的key后面加冒号然后写默认值如:${配置项的key:默认值}
使用@Value方式如果是配置文件里配置项太多,并且使用的地方过多的时候,维护和管理不太方便
2.2.2 Environment
使用很简单,直接使用spring的注解@Autowired引入即可
@Autowired
private Environment environment;
#然后通过如下方式获取
environment.getProperty("Person.name"));
2.2.3 @ConfigurationProperties自动填充法
例如配置文件现在有个person类:
使用代码如下:只需新建一个类,变量设置为配置文件下的那两个变量,然后他就会自动填充。
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
@Component
@ConfigurationProperties(prefix = "Person") //前缀,使用配置文件中的Person下的变量
public class Person {
private String name;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@Override
public String toString() {
return "Person{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}
}