spring配置bean中的自动装配
来源:互联网 发布:linux find 结合正则 编辑:程序博客网 时间:2024/05/16 01:25
在我们传统的配置bean的时候,属性往往是我们手动加入的
<bean id="p5" class="com.my.beans.People" p:age="33" p:name="lisi" p:cars-ref="car">
</bean>
都是手动加入的;自动装配就是我们不需要使用p:cars-ref="car"这种方式去赋值而是用配置某种方式让容器自动去装入bean属性的值。
IoC容器可以帮我们自动装入bean,我们需要做的就是在autowire-candidate=""中指定自动装入的方式,可以去byType,byName
byType:根据类型进行装配,如果容器中有多个相同类型的bean。则不可使用byType
byName:根据名称自动装配,必须将目标bean的id值和当前beand 属性和名称设置的完全相同
传统的是:<property name="add" ref="address"></property>使用了ref引用
<bean id="address" class="com.my.autoAwear.Address">
<property name="city" value="beijiang"></property>
<property name="street" value="wangiang"></property>
</bean>
<bean id="car" class="com.my.autoAwear.Car">
<property name="brand" value="baoma"></property>
<property name="pirce" value="563256"></property>
</bean>
<bean id="person" class="com.my.autoAwear.Person">
<property name="name" value="zhangsan"></property>
<property name="car" ref="car"></property>
<property name="add" ref="address"></property>
</bean>
在person bean中:
public class Person {
private String name;
private Address add;
private Car car;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Address getAdd() {
return add;
}
public void setAdd(Address add) {
this.add = add;
}
public Car getCar() {
return car;
}
public void setCar(Car car) {
this.car = car;
}
@Override
public String toString() {
return "Person [name=" + name + ", add=" + add + ", car=" + car + "]";
}
省略Address,Car...
现在开始自动装配:
把person的bean改为:删掉最后的引用,bean添加 autowire="byName",
<bean id="person" class="com.my.autoAwear.Person" autowire="byName">
<property name="name" value="zhangsan"></property>
<property name="car" ref="car"></property>
</bean>
原理是car address的bean的id是car,address,而且在person中有属性名Car car 和Address address。所有容器可以根据名字找到容器中id为car和address的对应bean去匹配person bean中setter 方法是属性名,car 和address,所以实现匹配。如果id和主bean中属性名不一致,则装入失败。
byType是根据bean的类型和当前bean的属性的类型进行自动装配。
- spring配置bean中的自动装配
- spring 配置bean-自动装配
- Spring XML配置自动装配的Bean
- Spring 配置使用 - Bean 自动装配
- spring-xml配置bean自动装配
- Spring Bean装配-自动装配
- Spring Bean--自动装配
- Spring Bean 自动装配
- spring自动装配bean
- Spring Bean装配之自动装配
- Spring Bean的装配 -- 自动装配
- spring bean autowire自动装配
- spring注解自动装配Bean
- spring自动装配Bean属性
- Spring自动装配Bean属性
- Spring自动扫描装配bean
- Spring-3 自动装配bean
- [Spring]Bean的自动装配
- Beyond Compare 相同文件对比结果仍显示红色 解决方案
- (3.1.4)详细讲解Struts构架中action的跳转大全
- 在用unity开发中代码编辑器的选择
- iOS view边框和阴影的设置圆角
- 各种语言的时间戳转换
- spring配置bean中的自动装配
- 复数模板类
- Milking Time.(POJ-3616)
- 为什么implements OnTouchLister后在onTouch中没有监听到该事件
- Linux驱动头文件
- uva 11404(dp)
- leetcode 日经贴,Cpp code -Remove Duplicates from Sorted Array II
- Java协程框架--Kilim常见问题解答
- Java匿名内部类的传值