Spring學習----自動裝配@Resource、@Autowired、@Qualifier
阿新 • • 發佈:2019-04-11
pre 多個 註入 cat text spring學習 文件 oid resource
直接看下面的代碼即可明白:
applicationContext.xml裏面添加個bean:
<!--註解的註入 --> <bean id="student3" class="day01.di.annotations.annotation_di.Student"></bean> <bean id="person3" class="day01.di.annotations.annotation_di.Person" ></bean> <!-- 啟動依賴註入的註解解析器 --> <context:annotation-config></context:annotation-config>
java文件裏面裝配代碼:
public class Person { /* * @Resource(name="student3") * private Student student; */ /* * @Resource * private Student student3; */ /* * @Resource * private Student studen;*/ /** * 註意:在使用@Resource時, 1、優先根據@Resource後面的name屬性的值去applicationContext.xml文件裏面去找 * id=該值的bean進行裝配,這時候如果找不到,就會報錯 2、如果name省略不寫,會根據註解下面的屬性名去尋找然後註入 * 3、如果尋找不到,就會根據我們想要裝配的類型去尋找bean * 總結:先byname,然後bytype,byType是很危險的,如果同類型的多個bean存在於applicationContext.xml文件,那就會報錯 */ /** @Autowired //按照類型匹配 * private Student studen; */ @Autowired @Qualifier("student3") // 先按照類型匹配然後按照id匹配(@Qualifier要依賴在@Autowired下面才有用) private Student studen; // 註解只能用於引用數據類型 public void say() { this.studen.say(); } }
Spring學習----自動裝配@Resource、@Autowired、@Qualifier