Jam*_*mes 7 java spring dependency-injection
我正在尝试将一个 bean 注入另一个使用它的 bean 中。我怎样才能做到这一点?
public class MySpringConfig{
@Bean
public MyObject getMyObject() {
//.....
return MyObjectInstance;
}
@Bean
public SomeObject getSomeObject(MyObject myObject) {
//.....
return SomeObjectInstance;
}
}
Run Code Online (Sandbox Code Playgroud)
@Bean
参数在和中的工作方式并不完全相同@Component
。
对于用 注释的类@Component
,自动装配构造函数需要指定它们,但在声明中,如果在当前类中可以访问,@Bean
则不需要提供参数来指定MyObject
要使用的依赖项(尽管它将起作用),即你的情况。因此,您想通过在 @Bean 定义中
调用来直接注入 bean 。
例如,向其传递构造函数 arg :getMyObject()
@Bean
public SomeObject getSomeObject() {
//....
// you injected MyObject in the current bean to create
SomeObject object = new SomeObject(getMyObject());
//...
return SomeObjectInstance;
}
Run Code Online (Sandbox Code Playgroud)
并且不要忘记对类进行注释,@Configuration
以使其被 Spring 考虑。
归档时间: |
|
查看次数: |
12309 次 |
最近记录: |