Spring自动装配模式(四)
Spring自动装配模式四:constructor的解析
与byType的方式类似,不同之处在于它应用于构造器参数。如果在容器中没有找到与构造器参数类型一致的bean,那么将会抛出异常
<bean?id="employee"?class="spr.bean.Employee"?scope="prototype">
<property?name="name">
<value>维</value>
</property>
<property?name="sex">
<value>女</value>
</property>
</bean>
<!--
如果在构造器中有一个实例对象,但是在配置文件中并没有与之对应的bean的实例:那么在采用
autowire="constructor"自动装载时会出现:
org.springframework.beans.factory.UnsatisfiedDependencyException:?异常信息
-->
<bean?id="boss"?class="spr.bean.Boss"?scope="prototype"?autowire="constructor"?/>
spr.bean.Employee代码
package?spr.bean;
public?class?Employee?{
/**员工姓名*/
public?String?name;
/**员工性别*/
public?String?sex;
/**省略相应的set?get方法*/
}
spr.bean.Boss代码
package?spr.bean;
public?class?Boss?{
/**?名称?*/
private?String?name;
/**?正式员工?*/
private?Employee?employee;
/**带参数的构造器*/
public?Boss(Employee?employee){
this.name="CSDN";
this.employee=employee;
/**省略相应的set?get方法*/
}
<!--EndFragment-->