JAVA 静态变量上使用@Value注解注入值

正常我们使用@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

你可能感兴趣的:(java,spring)