List数组装配和Set数组装配,都可以使用下面的方式进行数据的注入,但是不同的是list数组允许注入相同的值,Set数组如果注入相同的值,只会取其中的一个,其它的会被覆盖
<bean id="employee" class="com.haitao.beans.employee">
<property name="id" value="36" />
<property name="name" >
<value>hunk xu</value>
</property>
<property name="family" >
<list>
<value>xuguoming</value>
<value>xuguofu</value>
<value>xuguozhu</value>
</list>
</property>
</bean>
<bean id="employee" class="com.haitao.beans.employee">
<property name="id" value="36" />
<property name="name" >
<value>hunk xu</value>
</property>
<property name="jihe" >
<list>
<ref bean='student' />
<ref bean='student' />
</list>
</property>
</bean>
<bean id="student" class="com.haitao.beans.Student">
<property name="id" value="36" />
<property name="father" >
<value>guo zhu</value>
</property>
<property name="mother" >
<value>dai ping</value>
</property>
</bean>
下面这个是继承装配,使用的是parent属性
<bean id="father" class="com.haitao.beans.Father">
<property name="id" value="36" />
<property name="name" >
<value>hunk xu</value>
</property>
<property name="age" >
<value>51</value>
</property>
</bean>
<bean id="son" parent="father" class="com.haitao.beans.Son">
<property name="id" value="36" />
<property name="like" >
<value>sing</value>
</property>
</bean>
map装配
<bean id="father" class="com.haitao.beans.Father">
<property name="id" value="36" />
<property name="jiheMap" >
<map>
<entry key="11" value="hai tao xu" />
<entry key="22" value="xuhaitao"/>
<entry key="33" value="hunk xu"/>
</map>
</property>
</bean>
程序中遍历Map:
map装配,注意map中对象的引用用的是value-ref
<bean id="father" class="com.haitao.beans.Father">
<property name="id" value="36" />
<property name="jiheMap" >
<map>
<entry key="11" value-ref="son" />
<entry key="22" value-ref="son"/>
<entry key="33" value-ref="son"/>
</map>
</property>
</bean>
<bean id="son" class="com.haitao.beans.Son">
<property name="hieght" value="1.73" />
</bean>
对象引用
<bean id="father" class="com.haitao.beans.Father">
<property name="kk" ref="son" />
</bean>
通过构造方法注入,下面的配置说明构造方法中有三个参数
<bean id="father" class="com.haitao.beans.Father">
<constructor-arg index="0" type="int" value="26" />
<constructor-arg index="1" type="java.lang.String" value="hai tao gao ruan" />
<constructor-arg index="2" type="java.lang.String" value="hunk xu" />
</bean>
自动装配-byName
到容器中查找有没有id,和自己的属性名字一样的,如果一样,并且类型一致,则自动会装配上
<bean id="father" class="com.haitao.beans.Father" autowire="byName" >
</bean>
<bean id="erzi" class="com.haitao.beans.Son" >
<property name="height">
<value> 1.746</value>
</property>
</bean>
public class Father {
private Son erzi; //注意这里的命名
public Son getErzi() {
return erzi;
}
public void setErzi(Son erzi) {
this.erzi = erzi;
}
}
FR:徐海涛(hunk Xu)