项目需要在初始化时初始化redis调用池,且redis配置从配置文件中读取。
最初尝试的是最便捷的@Value注解,结果获取到的配置值是null,应该是类初始化的时候配置文件的值还没被注入,后续尝试使用config类获取配置文件内容。再@Autowried注解注入。结果@Autowried得到的还是null。在蛋疼了一个多小时之后,终于找到了一个终极迂回的方案。那就是在config类的基础上,将类中的变量置为static。在set方法中通过@Value获取配置文件的值再对static变量进行赋值。
附上代码内容
配置文件
project.env=env01
project.node=node01
config类
@ConfigurationProperties(prefix = "agent.config")
@Component