我正在尝试使用从同一类生成的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()中使用dogHouse()的结果
dog()dogHouse()保留在相同的Java类中


这可能吗?如果是的话,我应该如何在Test类中注入狗Bean?谢谢。

最佳答案

@Bean
  public DogHouse dogHouse() {
    Dog d = dog();
    ...
    return dogHouse;
  }


当@Bean具有相互依赖关系时,为了解决此依赖关系,一个bean方法可以调用另一个。在您的情况下,在dogHouse()中调用dog()非常好。

09-25 21:35