Spring之bean后處理器


Bean后處理器是一種特殊的Bean,容器中所有的Bean在初始化時,均會自動執行該類的兩個方法。由於該Bean是由其它Bean自動調用執行,不是程序員手工調用,故此Bean無須id屬性。
需要做的是,在Bean后處理器類方法中,只要對Bean類與Bean類中的方法進行判斷,就可實現對指定的Bean的指定方法進行功能擴展與增強。方法返回的Bean對象,即是增過的對象。
代碼中需要自定義Bean后處理器類。該類就是實現了接口BeanPostProcessor的類。該接口中包含兩個方法,分別在目標Bean初始化完畢之前與之后執行。它們的返回值為:功能被擴展或增強后的Bean對象。
Bean初始化完畢有一個標志:一個方法將被執行。即當該方法被執行時,表示該Bean被初始化完畢。所以Bean后處理器中兩個方法的執行,是在這個方法之前之后執行。這個方法在后面將會講到。

public Object postProcessBeforeInitialization(Object bean, String beanId)
throws BeansException
該方法會在目標Bean初始化完畢之前由容器自動調用。
public Object postProcessAfterInitialization(Object bean, String beanId) throws BeansException
該方法會在目標Bean初始化完畢之后由容器自動調用。
它們的參數是:第一個參數是系統即將初始化的Bean實例,第二個參數是該Bean實例的id屬性值。若Bean沒有id就是name屬性值。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM