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;}@Overridepublic 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/beanshttps://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/beanshttps://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/beanshttps://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=“”)
分析:
总结
提示:这里对文章进行总结:
💕💕💕