Spring自动装配模式五:autodetect的解析
2011-04-27 21:32
288 查看
Spring自动装配模式五:autodetect的解析
通过bean类的自省机制(introspection)来决定是使用constructor还是byType方式进行自动装配。如果发现默认的构造器,那么将使用byType方式。
<bean id="homeAddressServiceImpl"
class="cn.csdn.service.HomeAddressServiceImpl"
scope="singleton">
<property name="address">
<value>北京海淀上地软件园</value>
</property>
</bean>
<bean id="empServiceImpl" class="cn.csdn.service.EmpServiceImpl"
scope="singleton"
autowire="autodetect"
/>
java代码有两种
一是带有默认构造器的采用getType中的set方法如果在构造器中有一个实例对象,但是在配置文件中并没有与之对应的bean的实例:那么在采用
autowire="constructor"自动装载时会出现异常信息
package cn.csdn.service;
public class EmpServiceImpl {
/**有参数的构造器*/
public
EmpServiceImpl(AddressServiceImpl companyAddress) {
super();
this.companyAddress = companyAddress;
}
/**公司地址*/
private AddressServiceImpl companyAddress;
public void
setCompanyAddress(AddressServiceImpl companyAddress){
this.companyAddress=companyAddress;
}
}
一是没有默认构造器的采用constructor方法
package cn.csdn.service;
public class EmpServiceImpl {
/**公司地址*/
private AddressServiceImpl companyAddress;
public void
setCompanyAddress(AddressServiceImpl companyAddress){
this.companyAddress=companyAddress;
}
}
通过bean类的自省机制(introspection)来决定是使用constructor还是byType方式进行自动装配。如果发现默认的构造器,那么将使用byType方式。
<bean id="homeAddressServiceImpl"
class="cn.csdn.service.HomeAddressServiceImpl"
scope="singleton">
<property name="address">
<value>北京海淀上地软件园</value>
</property>
</bean>
<bean id="empServiceImpl" class="cn.csdn.service.EmpServiceImpl"
scope="singleton"
autowire="autodetect"
/>
java代码有两种
一是带有默认构造器的采用getType中的set方法如果在构造器中有一个实例对象,但是在配置文件中并没有与之对应的bean的实例:那么在采用
autowire="constructor"自动装载时会出现异常信息
package cn.csdn.service;
public class EmpServiceImpl {
/**有参数的构造器*/
public
EmpServiceImpl(AddressServiceImpl companyAddress) {
super();
this.companyAddress = companyAddress;
}
/**公司地址*/
private AddressServiceImpl companyAddress;
public void
setCompanyAddress(AddressServiceImpl companyAddress){
this.companyAddress=companyAddress;
}
}
一是没有默认构造器的采用constructor方法
package cn.csdn.service;
public class EmpServiceImpl {
/**公司地址*/
private AddressServiceImpl companyAddress;
public void
setCompanyAddress(AddressServiceImpl companyAddress){
this.companyAddress=companyAddress;
}
}
相关文章推荐
- Spring的Autowired自动装配(XML版本+Annotation版本+源码+解析)
- Spring自动装配模式二:byName的解析
- Spring自动装配模式三:byType的解析
- Spring自动装配模式四:constructor的解析
- Spring自动装配模式一:no解析
- Spring自动装配模式三:byType的解析
- 【JavaEE学习笔记】Spring_02_IoC/DI依赖注入,集合对象属性注入,自动装配,代理模式
- Spring@Autowired注解与自动装配
- Spring@Autowired注解与自动装配
- Spring@Autowired注解与自动装配
- Spring@Autowired注解与自动装配
- Spring@Autowired注解与自动装配
- Spring@Autowired注解与自动装配
- Spring@Autowired注解与自动装配
- Spring @Autowired注解与自动装配
- spring学习笔记(13)——注解Autowired自动装配
- Spring@Autowired注解与自动装配
- Spring@Autowired注解与自动装配
- Spring@Autowired注解与自动装配
- Spring auto wire(自动装配) 的 五种方式