2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
· 自动装配是Spring满足bean依赖的一种方式
· Spring会在上下文中自动寻找,并自动给bean装配属性
在Spring中有三种装配的方式:
1. 在xml中显示配置
2. 在java中显示配置
3. 隐式的自动装配bean【重要】
测试
记得创建Cat、Dog、People类
- public class MyTest {
- @Test
- public void test1(){
- ApplicationContext context = new ClassPathXmlApplicationContext("beans.xml");
- People people = context.getBean("people", People.class);
- people.getDog().shout();
- people.getCat().shout();
- }
- }
ByName自动装配
- <!--
- byName:会自动在容器上下文中查找,和自己对象set方法后面的值对应的beanid
- -->
- <bean id="people" class="com.yang.pojo.People" autowire="byName">
- <property name="name" value="辰阳"/>
- </bean>
ByType自动装配
- <bean class="com.yang.pojo.Cat"/>
- <bean class="com.yang.pojo.Dog"/>
-
- <!--
- byType:会自动在容器上下文中查找,和自己对象属性类型相同的bean(必须保证类型全局唯一,如有两个狗就会报错)(可以省略id)
- -->
- <bean id="people" class="com.yang.pojo.People" autowire="byType">
- <property name="name" value="辰阳"/>
- </bean>
小结:
· byname时,需要保证所有的bean的id唯一,并且这个bean需要和自动注入的属性的set方法的值一致
· bytype时,需要保证所有的bean的class唯一,并且这个bean需要和自动注入的属性的类型一致