byName
public class Hello {
private String name;
private Apple hongFuShi;
其中Apple也是一个实体类
public class Apple {
private String color;
xml文件
<bean id="hongFuShi" class="cn.sxt.bean.Apple">
<property name="color" value="red"></property>
</bean>
<bean id="hello" class="cn.sxt.bean.Hello" autowire="byName">
<property name="name" value="leesi"></property>
</bean>
Apple属性会根据名称自动装配
测试类
Hello hello= (Hello)context.getBean("hello");
System.out.println(hello.getHongFuShi().getColor());
结果
red
byType
<bean id="hongFuShi" class="cn.sxt.bean.Apple">
<property name="color" value="red"></property>
</bean>
<bean id="hello" class="cn.sxt.bean.Hello" autowire="byType">
<property name="name" value="leesi"></property>
</bean>
但是如果xml有两个相同类型的bean,就会报错
constructor
要有构造器,其实也是根据byType自动装配
<bean id="hongFuShi" class="cn.sxt.bean.Apple">
<property name="color" value="red"></property>
</bean>
<bean id="hello" class="cn.sxt.bean.Hello" autowire="constructor">
<constructor-arg name="name" value="leesi"></constructor-arg>
</bean>