Hi,一网打尽大家好,我是麦洛,昨天同事来找我。说自己想使用@Value注解来注入值,中静但是发现注入不进去,想让我帮忙看看。研究了一番,态变最后发现是@Value注解无法注入静态变量。下面我们一起来回顾一下本次的量注bug。 首先我们来看看。入方如何给普通变量注入值?一网打尽 例如,application-dev.yml 配置文件有如下配置: 给普通变量赋值时,中静直接在变量声明之上添加@Value()注解即可,态变如下所示: 这个大家应该很熟悉了,量注这里就不再赘述。云南idc服务商 我们来看看昨天的入方问题,我们想给项目中的文件上传封装一个工具类。阿里云oss的一网打尽相关信息我们配置在配置文件中,需要将信息注入到工具类中的变量。为了方便直接使用变量,中静我们把把变量定义为静态变量。当要给静态变量注入值的态变时候,若是量注在静态变量声明之上直接添加@Value()注解是无效的亿华云计算。如下图所示。入方 若要给静态变量赋值,可以使用set()方法注入。 如下所示: 如果你觉得@value注解麻烦。可以使用@ConfigurationProperties注解代替,这样比较简洁 那么问题来啦!我们什么场景下需要把值注入到静态变量? 场景一 场景二 工具类中将值注入静态变量,就可以直接在静态方法之中使用,我本文中遇到的正是这个场景 本文中,我们从一个实际问题出发,探寻了三种在springboot中静态变量注入方案,希望对大家有所帮助。 本文转载自微信公众号「爱写Bug的麦洛」前言
普通变量
静态变量
解决方案
方案一
方案二
方案三
类上加入@Component注解 @PostConstruct注解修饰的方法中进行赋值操作 使用场景
总结