1.@value
标签加在set方法上面,注意set方法是非静态
private static String userName;
@Value(value = "${user.userName}")
public void setUserName(String userName) {
HelloWorldServiceImpl.userName = userName;
}
123456
注意!set方法不能有static关键字
有的小伙伴直接用编辑器自动生成set方法,编辑器会自动生成static的set方法,那样也是不能赋值成功的。
2.@ConfigurationProperties
@ConfigurationProperties(prefix = "author")
public class MyConfig {
private static String name;
public static String getName() {
return name;
}
public MyConfig setName(String name) {
this.name = name;
return this;
}
}
1234567891011121314
3.@PostConstruct(使用配置类给组件中的静态变量赋值)
@Component
public class RestTemplateUtil{
@Autowired
public PropertiesUtil propertiesUtil;
private static String appKey;
@PostConstruct
public void init (){
appKey = propertiesUtil.getIoAppKey();
}
}
12345678910111213
配置类 PropertiesUtil 中的写法,用get方法取值
@Value("${md.appKey}")
private String ioAppKey;
12
参考资料:
1、https://blog.csdn.net/but_yu/article/details/106141370 【20211203】
2、https://blog.csdn.net/weixin_42116127/article/details/115118008?spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-1.no_search_link&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-1.no_search_link 【20211203】
3、https://blog.csdn.net/weixin_42260311/article/details/86609719 【20211203】