Spring 依賴檢查

在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異常。

相關文章
相關標籤/搜索