spring03:bean的自动装配
文章目录
- spring03:bean的自动装配
- 前言:
- 一、 在xml中显示的配置:
- 分析:
- People类:
- Cat类:
- Dog类:
- 1. 在xml中显示的配置:
- 二、 隐式的自动装配bean【重要】
- 分析:
- 1. byName:bean id
- byname的时候,需要保证所有bean的id唯一,并且这个bean需要和自动注入的属性的set方法的值一致
- 2. byType:bean class
- bytype的时候,需要保证所有bean的class唯一,并且这个bean需要和自动注入的属性的类型一致
- 三、 使用注解实现自动装配:@Autowired + @Qualifier(value="")
- 分析:
- 总结
前言:
提示:以下是本篇文章正文内容:
一、 在xml中显示的配置:
分析:
People类:
public class People {
private Cat cat;
private Dog dog;
private String name;
public Cat getCat() {
return cat;
}
public void setCat(Cat cat) {
this.cat = cat;
}
public Dog getDog() {
return dog;
}
public void setDog(Dog dog) {
this.dog = dog;
}
public String getName() {
return name;
}
public void setName(@Nullable String name) {
this.name = name;
}
@Override
public String toString() {
return "People{" +
"cat=" + cat +
", dog=" + dog +
", name='" + name + '\'' +
'}';
}
}
Cat类:
public class Cat {
public void shut(){
System.out.println("miaomiaomiao");
}
}
Dog类:
public class Dog {
public void shut(){
System.out.println("wangwangwang");
}
}
1. 在xml中显示的配置:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
https://www.springframework.org/schema/beans/spring-beans.xsd">
// cat 和 dog的 bean对象:
<bean id="cat" class="com.huxiao.pojo.Cat"></bean>
<bean id="dog" class="com.huxiao.pojo.Dog"></bean>
// people的 bean对象:
<bean id="people" class="com.huxiao.pojo.People">(看这里)
<property name="name" value="胡潇"></property>
<property name="cat" ref="cat"></property>
<property name="dog" ref="dog"></property>
</bean>
</beans>
二、 隐式的自动装配bean【重要】
分析:
1. byName:bean id
byname的时候,需要保证所有bean的id唯一,并且这个bean需要和自动注入的属性的set方法的值一致
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
https://www.springframework.org/schema/beans/spring-beans.xsd">
// cat 和 dog的 bean对象:
<bean id="cat" class="com.huxiao.pojo.Cat"></bean>
<bean id="dog" class="com.huxiao.pojo.Dog"></bean>
// people的 bean对象:
<bean id="people" class="com.huxiao.pojo.People" autowire="byName">(看这里)
<property name="name" value="胡潇"></property>
</bean>
</beans>
2. byType:bean class
bytype的时候,需要保证所有bean的class唯一,并且这个bean需要和自动注入的属性的类型一致
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
https://www.springframework.org/schema/beans/spring-beans.xsd">
// cat 和 dog的 bean对象:
<bean id="cat" class="com.huxiao.pojo.Cat"></bean>
<bean id="dog" class="com.huxiao.pojo.Dog"></bean>
// people的 bean对象:
<bean id="people" class="com.huxiao.pojo.People" autowire="byType">(看这里)
<property name="name" value="胡潇"></property>
</bean>
</beans>
三、 使用注解实现自动装配:@Autowired + @Qualifier(value=“”)
分析:
总结
提示:这里对文章进行总结:
💕💕💕