我目前遇到的情况大概如下:
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;
}
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.