我正在尝试将一个bean注入另一个使用它的bean。我该怎么办?
data %>% enter_object(ids) %>% gather_object %>% spread_all
答案 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());
}
}