1. 程式人生 > >【Spring】@Resource、@Autowired和@Qualifer三者的區別

【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,即進行名稱匹配