java静态变量上使用@Value注解注入值的方法

在bean实例中,正常情况下我们使用@Value只需要在变量上加上注解即可

@Value("${server.debug:false}")
protected Boolean debug;

但当我们尝试将@Value注解在静态变量上时会发现取不到值
解决方案: 在set方法上使用@Value注解

public static String TEMP_EX_PRODUCT;
    
@Value("${msg.temp_code.ex_product}")
public void setTempExProduct(String tempExProduct) {
    TEMP_EX_PRODUCT = tempExProduct;
}

注意:
1.set方法不能是静态的 将static去掉
2.静态变量所属类要能被spring扫描到才可以,记得加上@Compent

 


版权声明:本文为liaomingwu原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。