@Autowired vs @Resource
1.都可以用来装配bean,写在字段上或者setter方法上。
2.@Autowired默认按照类型来装配,是spring的注解,默认情况下要求依赖的对象必须存在,如果允许为null,可以设置它的required属性为false
@Autowired(required=false)
也可以和@Qualifier一起来指定要注入那个bean
@Autowired() @Qualifier("baseDao")
3.@Resource是JDK1.6支持的注解,默认按照名称进行装配,名称可以通过name属性来指定,如果没有name属性,默认取字段名进行查找,当找不到
bean时才会按照类型来装配。 @Resource(name="baseDao")
@Resource
4.byName 通过参数名 自动装配,如果一个bean的name 和另外一个bean的 property 相同,就自动装配。
byType 通过参数的数据类型自动自动装配,如果一个bean的数据类型和另外一个bean的property属性的数据类型兼容,就自动装配
注意:需要在xml文件中配置
<context:annotation-config/> 开启注解配置
<context:component-scan base-package=”XX.XX”/> 扫描指定包及子包