1.错误示例
@Value("${aliyun.oss.accessKeyId}")
private static String accessKeyId;//用户名
原因分析
在使用@Value注解进行属性注入时,不能将属性标记为静态的。因此,你需要将以下四个属性的static关键字去掉。
在使用@Value注解时,属性的注入是在Spring容器实例化Bean的过程中进行的,而不是在类加载的时候。因此,这标记的属性应该是实例变量而不是静态变量,因此去掉static关键字。
2.错误示例
String url = new AliOssUtil().uploadFile(file)
错误原因
对于属性注入只会注入到ioc容器中,并不会注入到new 对象里面 ,因为属性注入是在创建 bean 时,Spring 容器会解析
@Value
注解和表达式,在合适的时机将对应的属性值注入到 bean 的成员变量中。