需求:改写一个JedisUtils,工具类,所以最好用静态方法和变量。
@value("${redis.host}")
private static String redisHost;
运行后发现注入失败。解决办法:看了网上大家的说法,有用中间变量的,有用set方法赋值的。试了一下都是可以成功赋值的,
以下引用别人的代码:
给参数注入,执行set方法(这里注意set方法中的static要去掉)
public static String zhifuUrl; @Value("${zhifu.url}") public void setZhifuUrl(String url) { CrmUtil.zhifuUrl = url; }
通过中间变量赋值
public static String zhifuUrl; @Value("${zhifu.url}") private String zhifuUrlTmp; @PostConstruct public void init() { zhifuUrl = zhifuUrlTmp; } 最后需要注意的是这个在类上要加@Component,才可以成功注入。