这里介绍几种常用的属性配置方式,官方介绍的有17种,想要了解其他的方式,请自行查看官方文档。
1.启动类添加属性
//属性配置
Properties properties = new Properties();
properties.setProperty("slogan","我爱你,亲爱的姑娘");
springApplication.setDefaultProperties(properties);
通过Environment获取属性
@Component
@Order(4)
public class ResultCommandLineRunner implements CommandLineRunner, EnvironmentAware {
private Environment environment;
@Override
public void run(String... args) throws Exception {
String slogan = environment.getProperty("slogan");
System.out.println(slogan);
}
@Override
public void setEnvironment(Environment environment) {
this.environment = environment;
}
}
控制台打印结果
2.配置properties文件或者yml文件
application-default.yml 是默认
注意yml的优先级比properties的要高,在resources目录下创建demo.properties文件,文件内容为:
poster=hello world
启动类添加 @PropertySource({"demo.properties"}) 注解
通过Environment获取属性
@Component
@Order(4)
public class ResultCommandLineRunner implements CommandLineRunner, EnvironmentAware {
private Environment environment;
@Override
public void run(String... args) throws Exception {
String slogan = environment.getProperty("slogan");
System.out.println(slogan);
String poster = environment.getProperty("poster");
System.out.println(poster);
}
@Override
public void setEnvironment(Environment environment) {
this.environment = environment;
}
}
控制台打印结果
配置文件优先级
上图的四个配置文件的优先级从高到低为:application-default.properties > application-default.yml > application.properties > application.yml