首页 > 其他分享 >工具类中@Value注入为空的解决方案

工具类中@Value注入为空的解决方案

时间:2023-03-06 13:12:54浏览次数:40  
标签:变量 静态 spring namespace Value 为空 类中 注入

参考链接

参考链接1

记录

  1. 原因分析:
    工具类一般都是静态类,提供的变量也是静态变量。
    @value只能给普通变量注入值,不能给静态变量注入值。
  2. 延伸:
    静态变量是一个类的属性,不是对象的属性。
    spring的依赖注入是基于对象层面的。
    静态变量在变量创建前就已经分配过内存了,而spring注入是在创建对象的时候注入的。
  3. 解决方法:
    set 方法是非静态的,在类上补充@Component
    private static String namespace;
    
    @Value("${nacos.namespace}")
    public void setNamespace(String namespace){
        NacosUtil.namespace=namespace
    }
    

标签:变量,静态,spring,namespace,Value,为空,类中,注入
From: https://www.cnblogs.com/sameLin/p/17183467.html

相关文章