春天将一个豆子注入另一个豆子

时间:2019-08-12 14:32:12

标签: java spring dependency-injection

我正在尝试将一个bean注入另一个使用它的bean。我该怎么办?

data %>% enter_object(ids) %>% gather_object %>% spread_all

3 个答案:

答案 0 :(得分:2)

我认为您可以通过这种方式执行此操作,这在我的项目中有效。

FirebaseAuth

答案 1 :(得分:1)

@Bean@Component中,参数的工作方式并不完全相同。
对于用@Component注释的类,自动装配构造函数需要指定它们,但是在@Bean声明中,您不需要提供参数来指定要使用的MyObject依赖项(它会起作用)(如果您在当前类中可以访问的话)。
因此,您想通过在@Bean定义中调用getMyObject()直接注入bean。
例如,将构造函数arg传递给它:

@Bean
public SomeObject getSomeObject() {

  //....
  // you injected MyObject in the current bean to create
  SomeObject object = new SomeObject(getMyObject());
  //...
  return SomeObjectInstance;     
}

别忘了用@Configuration注释类,以使其在Spring中考虑。

答案 2 :(得分:0)

我认为这可能有效!

 @Configuration
 public class AppConfig {

  @Bean
  public Bean2 bean2() {
      return new Bean2();
  }

  @Bean
  @DependsOn({"bean2"})
  public Bean1 foo(@Autowired Bean2 bean2) {
     return new Bean1(bean2); // or your can write new Bean1(bean2());
  }

}