spring boot 中用@value给static变量赋值

需求:改写一个JedisUtils,工具类,所以最好用静态方法和变量。

@value("${redis.host}")

private static String redisHost;


运行后发现注入失败。解决办法:看了网上大家的说法,有用中间变量的,有用set方法赋值的。试了一下都是可以成功赋值的,

以下引用别人的代码:

给参数注入,执行set方法(这里注意set方法中的static要去掉)

  1. public static String zhifuUrl;   
  2. @Value("${zhifu.url}")  
  3. public void setZhifuUrl(String url) {  
  4. CrmUtil.zhifuUrl = url;  
  5. }  

通过中间变量赋值

  1. public static String zhifuUrl;   
  2. @Value("${zhifu.url}")  
  3. private String zhifuUrlTmp;  
  4.   
  5. @PostConstruct  
  6. public void init() {  
  7. zhifuUrl = zhifuUrlTmp;  
  8. }  
最后需要注意的是这个在类上要加@Component,才可以成功注入。

你可能感兴趣的:(spring boot 中用@value给static变量赋值)