这篇文章介绍的是一个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();
第二种方式相较于第一种,不用每个属性写一个,直接注入类,一劳永逸,推荐使用!!!