【Spring】@Resource、@Autowired和@Qualifer三者的區別
阿新 • • 發佈:2019-02-04
@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,即進行名稱匹配