Spring 注解注入—@Qualifier 注释

本文内容纲要:

- 1.这里是 Student.java 文件的内容:

- 2.这里是 Profile.java 文件的内容:

- 3.下面是 MainApp.java 文件的内容:

- 4.下面配置文件 spring.xml 的示例:

- 运行结果:

当创建多个具有相同类型的 bean 时,并且想要用一个属性只为它们其中的一个进行装配,在这种情况下,你可以使用 @Qualifier 注释和 @Autowired 注释通过指定哪一个真正的 bean 将会被装配来消除混乱。下面显示的是使用 @Qualifier 注释的一个示例。

1.这里是 Student.java 文件的内容:

1 package com.spring.chapter7;

2

3 public class Student {

4 public String getName() {

5 return name;

6 }

7 public void setName(String name) {

8 this.name = name;

9 }

10 public int getAge() {

11 return age;

12 }

13 public void setAge(int age) {

14 this.age = age;

15 }

16 private String name;

17 private int age;

18

19

20

21 }

2.这里是 Profile.java 文件的内容:

1 package com.spring.chapter7;

2

3 import java.util.List;

4 import java.util.Set;

5

6 import org.springframework.beans.factory.annotation.Autowired;

7 import org.springframework.beans.factory.annotation.Qualifier;

8 import org.springframework.beans.factory.annotation.Required;

9

10

11

12 public class Profile {

13

14 @Autowired

15 @Qualifier("Student") //这里的值就是bean的id,当我们改变此值跟随我们指定的bean进行注入

16 private Student student;

17

18 public void printName() {

19 System.out.println("age:"+student.getName());

20 }

21

22 public void printAge() {

23 System.out.println("name:"+student.getAge());

24 }

25

26 public Profile() {

27 System.out.println("--------构造方法------------");

28 }

29 }

3.下面是 MainApp.java 文件的内容:

1 package com.spring.chapter7;

2

3

4 import java.util.List;

5

6 import org.springframework.context.ApplicationContext;

7 import org.springframework.context.support.AbstractApplicationContext;

8 import org.springframework.context.support.ClassPathXmlApplicationContext;

9

10 public class Main {

11 /**

12 * Spring @Qualifier 注解注入

13 * author:

14 * mail:2536201485@qq.com

15 * 时间:

16 */

17

18 public static void main(String[] args) {

19 ApplicationContext applicationContext=new ClassPathXmlApplicationContext("spring_xml/spring.xml");

20 Profile profile=(Profile)applicationContext.getBean("Profile");

21 profile.printName();

22 profile.printAge();

23

24

25 }

26

27 }

4.下面配置文件 spring**.xml** 的示例:

1     <!-- @Qualifier 注解 -->

2 <bean id="Profile" class="com.spring.chapter7.Profile">

3 </bean>

4 <bean id="Student" class="com.spring.chapter7.Student">

5 <property name="name" value="张三"></property>

6 <property name="age" value="23"></property>

7 </bean>

8

9 <bean id="Student2" class="com.spring.chapter7.Student">

10 <property name="name" value="李四"></property>

11 <property name="age" value="22"></property>

12 </bean>

运行结果:

--------构造方法------------

age:张三

name:23

本文内容总结:1.这里是 Student.java 文件的内容:,2.这里是 Profile.java 文件的内容:,3.下面是 MainApp.java 文件的内容:,4.下面配置文件 spring.xml 的示例:,运行结果:,

原文链接:https://www.cnblogs.com/ysource/p/12823157.html

以上是 Spring 注解注入—@Qualifier 注释 的全部内容, 来源链接: utcz.com/z/296338.html

回到顶部