1 、yaml 配置文件与properties 配置文件 在springboot中提供了yaml配置文件,官网上也是建议使用yaml的使用,用法是属性:空格属性值 properties用法与spring中还是一样是key=value ,一起使用时properties优先于yaml 例 : a .yaml
server:
port: 8080
b .properties
server.port=8080
person.name = chen
person.sex = man
person.age = 12
2 、配置文件上配置实体类的属性值 (1)application.yaml
person:
age: 12
name: chsnsh
sex: girl
(2)实体类 这里使用到的注解: a:@ConfigurationProperties(perfix:"XXX") :将配置文件中的全部属性值自动装配至实体类中 b:@Value :这个是将单个属性注入,所以它是使用也就是将注解放置在属性上方,可以注入配置文件的属性值@Value(“${XXX.xxx}”) ,也可以以表达式形式@Value(“#{1+2}”) c、@Email :指定属性格式为邮箱格式,使用的时候需要与@Validated 一起使用
/@ConfigurationProperties(value = "person")
@Component
@Validated
public class Person {
@Value("${person.name}")
private String name;
private String sex;
@Value("#{1+2}")
private String age;
@Email
private String email;
public Person() {
}
public Person(String name, String sex, String age, @Email String email) {
this.name = name;
this.sex = sex;
this.age = age;
this.email = email;
}
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;
}
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
@Override
public String toString() {
return "Person{" +
"name='" + name + '\'' +
", sex='" + sex + '\'' +
", age='" + age + '\'' +
", email='" + email + '\'' +
'}';
}
}
3 、配置文件存放位置的优先级 配置文件可以存在的位置有很多,在springboot中有特定的文件夹来存放config ,不管是在项目根目录中存放,还是resources中存放,若加上config文件夹后存在,执行都会优先使用config中的配置文件 ,而根目录的优先级是高于resources目录的
4 、配置多环境 application.yaml配置文件
#指定环境,当server.port与指定环境一起使用时,优先使用指定环境
server:
port: 8084
spring:
profiles:
active: test
|