我已将Spring应用程序配置如下:
Class A{
@Resource
private B objB;
@Resource
private C objC;
}
Class B{}
Class C{}
@Configuration
Class SpringConfigs{
@Bean
public A objA(){
return new A();
}
@Bean
public B objB(){
return new B();
}
@Bean
public C objC(){
return new C();
}
}
我使用组件扫描来选择@Configurations。我的问题是Spring会为B&注入Beans在为A创建bean时使用C.我在A类中使用@Resource但是使用new运算符来创建Bean,那么Spring会识别A类中的注释并注入它们吗?感谢。
答案 0 :(得分:0)
你的应用程序运行得很好。你试过吗?
当通过类路径扫描获取SpringConfigs
配置类时,将处理@Bean
带注释的方法以创建相关的bean。
你可能指的是一个常见的初学者错误,包括手工创建bean并期望Spring意识到必须做某事(例如连接依赖关系或创建代理以提供其他功能)。
您确实是自己创建bean,但是您正在BeanFactory
将调用检索 bean实例的方法中执行此操作。将实例添加到工厂后,它将像任何其他bean一样进行后处理(例如通过xml配置创建的那些)