@Autowired @Qualifier @Resource
@Autowired
用于对Bean的属性变量,属性的setter()方法及构造方法进行标注,配合对应的注解处理器完成Bean的自动装配工作。默认按照Bean的类型进行装配。
@Resource
其作用与@Autowired一样,区别在于@Autowired默认按Bean类型进行装配,如果出现多个该类型的时候,会去找被@Autowired配置的名称是否在这多个里面存在(ByName),如果不存在就会报错。,而@Resource默认是按照Bean的实例名称进行匹配。@Resource中有两个重要的属性,name和type。spring将name属性解析为Bean的实例名称,type类型解析为Bean的实力类型。若指定name属性,则按照实例名称进行装配;若制定type属性,则按照Bean类型进行装配;若都不指定,则先按照Bean的实例名称进行装配,不能匹配时再按照Bean类型进行装配;若都无法匹配,则抛出NoSuchBeanDefinitionException异常。
@Qualifier
与@Autowired注解配合使用,会将默认的按Bean类型装配修改为按Bean的实例名称进行装配,Bean的实力名称有@Qualifier注解指定的参数指定。


浙公网安备 33010602011771号