在Bean被建立时,若是Bean的属性(property)在Spring配置文件Bean的定义中没有进行初始化赋值,默认状况下Spring是不作检查的。可是不少状况下会要求Bean特定的属性必须进行初始化赋值,这种初始化赋值的检查就叫作依赖检查。在Spring2.x中经过在bean标签中使用dependency-check属性设定由Spring进行强制检查的方式。denpendency-check属性有四个值:none、object、simple、all。spring
若是不进行设置设就是Spring中dependency-check的默认值none,不进行任何检查。<bean id="bwf" class="com.Boweifeng" dependency-check="none">测试
只检查简单类型属性以及集合类型属性,则配置为simple。<bean id="bwf" class="com.Boweifeng" dependency-check="simple">ui
检查除简单类型属性以及集合类型属性外的引用类型属性,属性配置为object。<bean id="bwf" class="com.Boweifeng" dependency-check="object">this
检查全部类型属性,denpendency-check的值配置为all。<bean id="bwf" class="com.Boweifeng" dependency-check="all">code
而既然Spring3中放弃使用了dependency-check属性,提供一种更加灵活的检查方式:@Required注解检查。但他只检查属性是否已经设置而不会测试属性是否非空,并且@Required注解只能设置在setter方法上。下面咱们来看一下如何使用@Required注解。get
须要在配置文件中加上这样一句话:<bean class="org.springframework.beans.factory.annotation.RequiredAnnotationBeanPostProcessor"/>。或者加入:<context:annotation-config/>。it
作好这样的配置就能够使用@Required注解了:io
@Required class
public void setName(String name) { 配置
this.name = name;
}
这样就配置完成了,这样若是任何带有@Required的属性未设置的话 将会抛出BeanInitializationException异常。