Spring自动装配模式(五)

Spring自动装配模式五:autodetect的解析

通过bean类的自省机制(introspection)来决定是使用constructor还是byType方式进行自动装配。如果发现默认的构造器,那么将使用byType方式。

<bean id="employee" class="spr.bean.Employee" scope="prototype">

<property name="name">

<value></value>

</property>

<property name="sex">

<value></value>

</property>

</bean>

<bean id="boss" class="spr.bean.Boss" autowire="autodetect" dependency-check="objects">

</bean>

java代码有两种

一是带有默认构造器的采用getType中的set方法如果在构造器中有一个实例对象,但是在配置文件中并没有与之对应的bean的实例:那么在采用

autowire="constructor"自动装载时会出现异常信息

package spr.bean;

public class Boss {

/**姓名*/

public String name;

/**正式员工*/

public Employee employee;

/**默认构造器*/

public Boss(){

}

/**带有参数的构造器*/

public Boss(Employee employee){

this.name="王晓丽";

this.employee=employee;

}

/**省略相应的set get方法*/

}

一是没有默认构造器的采用constructor方法

package spr.bean;

public class Boss {

/**姓名*/

public String name;

/**正式员工*/

public Employee employee;

/**带有参数的构造器*/

public Boss(Employee employee){

this.name="王晓丽";

this.employee=employee;

}

public Employee employee;

/**省略相应的set get方法*/

}

以上为Spring自动装配的五种模式,希望对大家有所帮助

<!--EndFragment-->

你可能感兴趣的:(spring,bean,prototype)