在Spring 3.X中,是否必须将类注释为组件才能将字段自动装入其中?
让我说我有:
@Service("myBean")
public class Mybean {
}
public class Target {
@Autowired
@Qualifier("myBean")
private MyBean;
}
然后在我的beans.xml
中<context:component-scan base-package="com.package.beans" />
MyBean.java
位于com.package.beans.MyBean package
之内。
是否必须将类Target
注释为@Component
或其他一些弹簧注释才能自动装入其中一个字段?
答案 0 :(得分:1)
不,它不需要注释,但它必须是一个Spring bean。您可以使用构造型注释(例如@Component
)来执行此操作,但您也可以通过在XML中声明<bean>
元素或从@Bean
配置方法返回它来创建Spring bean
请注意,在任何情况下都最好使用构造函数注入,因为它在自动装配方面没有任何区别,但使测试更容易,并且使某些错误更加困难。