spring boot使用配置文件对静态变量进行赋值

2023-12-30 05:16:24

spring boot @value @ConfigurationProperties 注释静态配置文件变量引用

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】

文章来源:https://blog.csdn.net/qq_43985303/article/details/135289697
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。