Spring auto wire(自动装配) 的 五种方式
Spring auto-wire的 五种方式:1:no 默认的方式是不进行自动装配,通过手工设置ref 属性来进行装配bean2:byName 通过参数名 自动装配,如果一个bean的name 和另外一个bean的 property 相同,就自动装配。3:byType 通过参数的数据类型自动自动装配,如果一个bean的数据类型和另外一个bean的property属性的数据类型兼容,就自动装配4:construct 构造方法中的参数通过byType的形式,自动装配。5:autodetect 如果有默认的构造方法,通过 construct的方式自动装配,否则使用 byType的方式自动装配。用于spring2.5 ,spring3.0测试不通过,估计是废弃了。
一: auto-wire : no(默认方式)首先定义测试需要的类:
<?xml version="1.0" encoding="UTF-8"?><!-- <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"> --><beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans-2.5.xsd"> <!-- more bean definitions for data access objects go here --> <!-- no --> <!-- <bean id="person" class="com.myapp.core.autowire.Person"> <property name="book" ref="book" /> </bean> --> <!-- byName --> <!-- <bean id="person" class="com.myapp.core.autowire.Person" autowire="byName"> </bean> --> <!-- byType --> <!-- <bean id="person" class="com.myapp.core.autowire.Person" autowire="byType"/> --> <!-- construct --> <!-- <bean id="person" class="com.myapp.core.autowire.Person" autowire="constructor"/> --> <!-- autodetect --> <bean id="person" class="com.myapp.core.autowire.Person" autowire="autodetect" /> <bean id="book" class="com.myapp.core.autowire.Book"></bean> </beans>