我正在尝试使用从同一个类生成的 bean。例如:public class Test { ... @Bean public Dog dog() { ... return dog; } @Bean public DogHouse dogHouse() { Dog d = dog(); // Is this right? Can I inject dog bean here? ... return dogHouse; }}我必须遵守两个要求:使用dog()in的结果dogHouse()保持dog()和dogHouse()在同一个java类中这可能吗?如果是,我应该如何在 Test 类中注入 dog Bean?谢谢。
2 回答
幕布斯6054654
TA贡献1876条经验 获得超7个赞
@Bean
public DogHouse dogHouse() {
Dog d = dog();
...
return dogHouse;
}
当 @Bean 相互依赖时,为了解决这种依赖关系,一个 bean 方法可以调用另一个 bean 方法。在您的情况下,在dogHouse()中调用dog()非常好。
蓝山帝景
TA贡献1843条经验 获得超7个赞
您可以使用参数注入让 spring 知道该DogHousebean 需要该Dogbean。
@Bean
public DogHouse dogHouse(Dog d) {
...
return dogHouse;
}
Spring会Dog在构造bean的同时将bean注入到方法中DogHouse。
添加回答
举报
0/150
提交
取消