public class Customer { private Person person; public void setPerson(Person person) { this.person = person; } } public class Person {……}
<bean id="customer" class="cn.lovepi.***.Customer"> <property name="person" ref="person" /> </bean> <bean id="person" class="cn.lovepi.***.Person" />
可以看到:person id的名字和customer bean的person属性的名字是一样的。
具体Spring属性注入请看:Spring学习(十七)Spring 参数注入方式介绍
<bean id="customer" class="cn.lovepi.***.Customer” autowire="byName" /> <bean id="person" class="cn.lovepi.***.Person" />
<bean id="customer" class="cn.lovepi.***.Customer” autowire="byType" /> <bean id="person" class="cn.lovepi.***.Person" />
<bean id="customer" class="com.jike.***.Customer” autowire=“constructor" /> <bean id="person" class="com.jike.***.Person" />
<bean id="customer" class="com.jike.***.Customer” autowire=“autodetect" /> <bean id="person" class="com.jike.***.Person" />
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd” default-autowire=“byType” > ………………… </beans>当我们对某个Bean选择了自动装配策略时,仍然可以为任意一个属性配置<property>属性,即可以同时使用自动装配和显式装配策略:
<bean id="customer" class="com.jike.***.Customer“autowire=“byType" > <property name="person" ref="person1" /> </bean> <bean id="person" class="com.jike.***.Person" /> <bean id="person1" class="com.jike.***.Person" />可以看到我们已经设置了按找类型自动装配bean,但我们也可以显式的使用property属性来加载特定的bean