@Autowired的匹配规则
参考:
2、@Autowired 详解-三种实现方式,多种歧义性解决方法
重点内容:
1、适用范围
@Autowired注解可适用于成员变量、方法和构造函数
@Autowired()
private BaseDao baseDao;
2、优先根据类型装配
@Autowired注解优先使用根据类型进行标注装配
3、根据名称装配设置
@Autowired注解配置使用@Qualifier可完成按照名称进行装配
@Autowired() @Qualifier("baseDao")
private BaseDao baseDao;
4、指定可装配null值
@Autowired注解默认要求依赖对象必须存在,如果要允许null值,则设置它的required属性为false
@Autowired(required=false)
private BaseDao baseDao;
5、@Resource注解
@Resource注解默认按照名字进行装配,找不到名字匹配的bean时才会按照类型进行装配,但如果名字通过name属性进行指定,则只会按照名字进行装配。
@Resource(name="baseDao")
private BaseDao baseDao;