我目前遇到的情况大概如下:
class Test{
@Value("${xxxx}")
private String a1;
@Value("${xxxx}")
private String a2;
@Value("${xxxx}")
private String a3;
private Demo demo;
public Test(){
demo = Demo.builder(a1,a2,a3);
}
}
a1,a2,a3 是从公司的配置中心拉去的值 现在出现这种情况: 在启动项目加载的时候,只会加载 a1,a2,a3 并不会给赋值 导致注入 demo 的参数都是 null 个人认为 spring 在加载的时候会把对应的值拉取到然后赋予变量 有没有大佬明白,教一下菜鸡。
个人的解决办法:创建的一个 Config 类 能保证能够拉取到值然后完成注入
@Configuration
public class DemoConfig {
@Value("${xxxx}")
private String a1;
@Value("${xxxx}")
private String a2;
@Value("${xxxx}")
private String a3;
@Bean
public Demo bulid() throws MalformedURLException, SignatureException {
return new Demo.Builder(a1,a2,a3);
}
}
class Test{
@Resource
private Demo demo;
}