SpringBoot——配置文件里的全局变量
这篇文章介绍的是一个jar给不同的客户部署需要改变某些秘钥的值时,可以采用application的全局变量来配置,避免多次打包的繁琐。
第一种方式 直接在application.yml里写
test: niuBi: 芦苇 ceShi: 测试
使用的时候在类里面加上
@Value("${test.niuBi}") private String niuBi; @Value("${test.ceShi}") private String ceShi;
然后就可以直接当做普通变量使用,配置文件里修改,相应也会进行更改。
第二种方式 ①跟第一种一样在application.yml写入
test: niuBi: 芦苇 ceShi: 测试
②写一个类,加上注解。
@Component @ConfigurationProperties(prefix = TestProperties.PREFIX) public class TestProperties { public static final String PREFIX = "test";//这里注意前缀一律小写,这是规范 private String niuBi; private String ceShi; public static String getPREFIX() { return PREFIX; } public String getNiuBi() { return niuBi; } public void setNiuBi(String niuBi) { this.niuBi = niuBi; } public String getCeShi() { return ceShi; } public void setCeShi(String ceShi) { this.ceShi = ceShi; } }
③使用:在要使用的接口里,注入配置类,然后通过get去调用
@Autowired TestProperties test; test.getNiuBi(); test.getCeShi();
第二种方式相较于第一种,不用每个属性写一个,直接注入类,一劳永逸,推荐使用!!!