【Spring】@Resource、@Autowired和@Qualifer三者的区别

                 @Resource、@Autowired和@Qualifer三者的区别

Spring中以上三个注解可以用来实现依赖注入,但在使用时知道三者的区别与联系是比较重要的

@Resource使用注意事项

例:

@Resource
CityDao citydao;

【1】 则首先根据类名,将类名首字母小写得到cityDao,然后去Spring的配置文件中寻找id为cityDao的bean,即进行名称匹配

【2】若Spring的配置文件中没有id为cityDao的bean,则再根据类型进行匹配,在配置文件中寻找class为CityDao的bean

 

 

@Autowired使用注意事项

例:

@Autowired
CityDao cityDao;

【1】直接根据类型进行匹配,Spring会去配置文件中寻找class为CityDao的bean

 

@Qualifer使用注意事项

例:

@Autowired
@Qualifer("cityDao2")
CityDao cityDao;

【1】@Qualifer不能单独使用,否则会出现空指针错误

【2】需要配合@Autowired使用,会从Spring配置文件中寻找id为cityDao2的bean,即进行名称匹配

你可能感兴趣的:(JAVAEE,JAVA)