我将Spring Boot与节俭服务器一起使用,并且我有两个带有两个bean生成方法的@Configuration类,代码如下:
@Configuration
public class EagleBeanCreator {
@Bean(destroyMethod = "destroy")
public EagleRestClient build() {
EagleRestClient client = new EagleRestClient();
// some set values code
return client;
}
}
还有一个:
@Configuration
public class EagleServiceBuilder {
@Autowired
private EagleRestClient eagleProxy;
@Bean
public EagleService eagleService() {
EagleService service = new EagleService();
System.out.println(eagleProxy);
service.setEagleProxy(eagleProxy);
return service;
}
}
但是,当我运行spring-boot:run时,它将为“ System.out.println(eagleProxy);”输出null。
为什么?
================================================= =====
我知道二传手注入或构造函数注入的作品。
最佳答案
因为加载EagleBeanCreator
和EagleServiceBuilder
的顺序不确定。您可以使用@Order
或@ConditionalOnClass
来确保EagleBeanCreator
首先进行初始化。