Bean的自动装配
●自动装配是Spring满足bean依赖一种方式!
●Spring会在上下文中自动寻找,并自动给bean装配属性!
在Spring中有三种装配的方式
1.在xmI中显示的配置
2.在java中显示配置
3.隐式的自动装配bean(重要)
自动装配有两种类型(byName和byType)
所用pojo:
-
public class Dog {
-
public void bark(){
-
("wang");
-
}
-
}
-
public class Cat {
-
public void bark(){
-
("miao");
-
}
-
}
-
public class People {
-
private Dog dog;
-
private Cat cat;
-
private String name;
}//提供get和set方法
:会自动在容器上下文中查找,和自己对象set方法后面的值对应的bean!
-
<bean id="cat" class=""></bean>
-
<bean id="dog" class=""></bean>
-
<bean id="people" class="" autowire="byName">
-
<property name="name" value="芈"></property>
-
</bean>
利用byName进行自动装配时,注册的bean的id一定要和实体类的属性相同,在上面的pojo中,people拥有的是dog和cat,那么这两个bean的注册的id必须为dog和cat,不然无法自动装配。
:会自动在容器上下文中查找,和自己对象属性类生后面的值对应的bean!
-
<bean id="cat" class=""></bean>
-
<bean id="Dog" class=""></bean>
-
<bean id="people" class="" autowire="byType">
-
<property name="name" value="芈"></property>
-
</bean>
利用byType进行自动装配时,注册的bean的id可以随便取,只要class唯一且对应就可以进行自动装配
小结:
的时候,需要保证所有bean的id唯一, 并且这个bean需要和自动注入的属性的set方法的值一致!
的时候, 需要保证所有bean的class唯一 ,并且这个bean需要和自动注入的属性的类型一致!