当使用@Value注入配置参数时报错,报错原因不一定是@Value注入失败。
可能是用到配置参数的地方需要的是静态配置参数。所以解决办法是改成get()获取。
改正前
private static final Auth auth = Auth.create(ACCESS_KEY, SECRET_KEY);
改正后
private Auth getAuth() {
return Auth.create(ACCESS_KEY, SECRET_KEY);// 密钥
}
另一个问题:springboot中直接使用@value注解加载静态变量是不生效的。
解决办法是使用set()方法注入:
private static String domain;//域名
@Value("${qiniu.DOMAIN}")
private void setDomain(String domain){
this.domain = domain;
}