1. 程式人生 > >Spring學習----自動裝配@Resource、@Autowired、@Qualifier

Spring學習----自動裝配@Resource、@Autowired、@Qualifier

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