新聞中心
這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
創(chuàng)新互聯(lián)Spring教程:Spring@Qualifier注解
Spring @Qualifier 注解
可能會(huì)有這樣一種情況,當(dāng)你創(chuàng)建多個(gè)具有相同類型的 bean 時(shí),并且想要用一個(gè)屬性只為它們其中的一個(gè)進(jìn)行裝配,在這種情況下,你可以使用 @Qualifier 注解和 @Autowired 注解通過(guò)指定哪一個(gè)真正的 bean 將會(huì)被裝配來(lái)消除混亂。下面顯示的是使用 @Qualifier 注解的一個(gè)示例。

示例
讓我們使 Eclipse IDE 處于工作狀態(tài),請(qǐng)按照下列步驟創(chuàng)建一個(gè) Spring 應(yīng)用程序:
| 步驟 | 描述 |
|---|---|
| 1 | 創(chuàng)建一個(gè)名為 SpringExample 的項(xiàng)目,并且在所創(chuàng)建項(xiàng)目的 src 文件夾下創(chuàng)建一個(gè)名為 com.tutorialspoint 的包。 |
| 2 | 使用 Add External JARs 選項(xiàng)添加所需的 Spring 庫(kù)文件,就如在 Spring Hello World Example 章節(jié)中解釋的那樣。 |
| 3 | 在 com.tutorialspoint 包下創(chuàng)建 Java 類 Student,Profile 和 MainApp。 |
| 4 | 在 src 文件夾下創(chuàng)建 Beans 配置文件 Beans.xml。 |
| 5 | 最后一步是創(chuàng)建所有 Java 文件和 Bean 配置文件的內(nèi)容,并且按如下解釋的那樣運(yùn)行應(yīng)用程序。 |
這里是 Student.java 文件的內(nèi)容:
package com.tutorialspoint;
public class Student {
private Integer age;
private String name;
public void setAge(Integer age) {
this.age = age;
}
public Integer getAge() {
return age;
}
public void setName(String name) {
this.name = name;
}
public String getName() {
return name;
}
}這里是 Profile.java 文件的內(nèi)容:
package com.tutorialspoint;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
public class Profile {
@Autowired
@Qualifier("student1")
private Student student;
public Profile(){
System.out.println("Inside Profile constructor." );
}
public void printAge() {
System.out.println("Age : " + student.getAge() );
}
public void printName() {
System.out.println("Name : " + student.getName() );
}
}下面是 MainApp.java 文件的內(nèi)容:
package com.tutorialspoint;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class MainApp {
public static void main(String[] args) {
ApplicationContext context = new ClassPathXmlApplicationContext("Beans.xml");
Profile profile = (Profile) context.getBean("profile");
profile.printAge();
profile.printName();
}
}考慮下面配置文件 Beans.xml 的示例:
一旦你在源文件和 bean 配置文件中完成了上面兩處改變,讓我們運(yùn)行一下應(yīng)用程序。如果你的應(yīng)用程序一切都正常的話,這將會(huì)輸出以下消息:
Inside Profile constructor.
Age : 11
Name : Zara 分享文章:創(chuàng)新互聯(lián)Spring教程:Spring@Qualifier注解
網(wǎng)站地址:http://m.5511xx.com/article/dhhdpgd.html


咨詢
建站咨詢
