BeanPostProcessor和BeanFactoryPostProcessor和InitializingBean執行順序

org.springframework.beans.factory.config.BeanPostProcessor和org.springframework.beans.factory.config.BeanFactoryPostProcessor都可以在一個被Spring管理的Bean的生命週期中進行自定義的一些處理,當然這個生命週期多半是被Spring管理的Bean實例化前後,這種操作也可以叫做鉤子

實現BeanFactoryPostProcessor接口的方法將會在Bean實例化之前調用,

實現BeanPostProcessor接口的方法將會在實例化Bean之後調用。

實現InitializingBean接口的方法afterPropertiesSet()會在BeanPostProcessor#postProcessBeforeInitialization()方法之後BeanPostProcessor#postProcessAfterInitialization()之前調用,並且InitializingBean的實現只針對實現的bean,並不像BeanPostProcessor那樣對所有被Spring管理的Bean都有效。

    使用時需要注意的是,在實現BeanFactoryPostProcessor接口的方法中萬萬不可進行實例化Bean的操作,否則會引起不可預知的錯誤。另外這三個Bean需要註冊到Spring容器中才能生效。
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章