依赖检查:
dependency-check=’all’||’simple’||’none’||’object’
Spring除了能对容器中bean的依赖设置进行检查外。还可以检查bean定义中实际属性值的设置,当然也包括采用自动装配方式设置属性值的检查。
Domain包中的Emp.java
public class Emp implements Serializable {
//没有任何属性和方法
}
Service包中的AddressServiceImpl.java
public class AddressServiceImpl {
}
Service包中的EmpServiceImpl.java
public class EmpServiceImpl {
private String name;
private Integer age;
//Integer与String都是原始数据类型
private List<Emp> list;
//生成set()与get()方法
public void setEmail(String email) {
}
}
Check.xml
<?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-2.5.xsd">
<bean id="emp " class="cn.csdn.domain.Emp" scope="singleton" />
<bean id="empServiceImpl" class="cn.csdn.service.EmpServiceImpl" scope="singleton" dependency-check="all">
<property name="name">
<value>DXL</value>
</property>
<property name="email">
<value>dxl@qq.com</value>
</property>
<property name="list">
<list>
<ref bean="emp" />
</list>
</property>
</bean>
</beans>
<!-- 依赖检查主要是检查bean中的Setter放法的属性是否在配置文件中设置property属性 如果没有设置就会出现bug
Simple 只对原始数据类型进行检查例如:Integer和String
Object 只能验证集合和对象(bean) list类型需要使用Object进行检查
All 验证所有
none 没有依赖检查,如果Bean的属性没有值的话可以不用设置
-->
若在empServiceImpl.java中没有email属性只有email的set()方法,dependency-check="all"或dependency-check="simple"也会验证通过。
若age的类型为int类型则不能通过验证,原因是int类型并不是原始数据类型。