为了账号安全,请及时绑定邮箱和手机立即绑定

是否可以使用从同一个类生成的bean

是否可以使用从同一个类生成的bean

慕尼黑8549860 2022-12-15 15:22:18
我正在尝试使用从同一个类生成的 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()非常好。


查看完整回答
反对 回复 2022-12-15
?
蓝山帝景

TA贡献1843条经验 获得超7个赞

您可以使用参数注入让 spring 知道该DogHousebean 需要该Dogbean。


@Bean

public DogHouse dogHouse(Dog d) {

  ...

  return dogHouse;

}

Spring会Dog在构造bean的同时将bean注入到方法中DogHouse。


查看完整回答
反对 回复 2022-12-15
  • 2 回答
  • 0 关注
  • 92 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信