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