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

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

1.@value
标签加在set方法上面,注意set方法是非静态

   private static String userName;
   
   @Value(value = "${user.userName}")
   public void setUserName(String userName) {
    
    
        HelloWorldServiceImpl.userName = userName;
   }

注意!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;
    }
}

3.@PostConstruct(使用配置类给组件中的静态变量赋值)

@Component
public class RestTemplateUtil{
    
    
 
    @Autowired
    public PropertiesUtil propertiesUtil;
 
    private static String appKey;
 
    @PostConstruct
    public void init (){
    
    
        appKey = propertiesUtil.getIoAppKey();
    }
}

配置类 PropertiesUtil 中的写法,用get方法取值

@Value("${md.appKey}")
private String ioAppKey;

参考资料:
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】

猜你喜欢

转载自blog.csdn.net/JohinieLi/article/details/121699993
今日推荐