Spring容器的創(chuàng)建過程之如何注冊BeanPostProcessor詳解
注冊BeanPostProcessor
refresh()
調(diào)用registerBeanPostProcessors(beanFactory)
方法,注冊Bean的后置處理器,后置處理器是用來攔截bean創(chuàng)建過程的。
不同接口類型的BeanPostProcessor
,即繼承了BeanPostProcessor
接口的子接口,在Bean創(chuàng)建前后的執(zhí)行時機是不一樣的
BeanPostProcessor
DestructionAwareBeanPostProcessor
InstantiationAwareBeanPostProcessor
SmartInstantiationAwareBeanPostProcessor
MergedBeanDefinitionPostProcessor
首先獲取所有的BeanPostProcessor
后置處理器都默認(rèn)可以通過PriorityOrdered
、Ordered
這兩個接口來指定執(zhí)行優(yōu)先級
先注冊實現(xiàn)了priorityOrdered
優(yōu)先級接口的BeanPostProcessor
,調(diào)用registerBeanPostProcessors()
方法進(jìn)行注冊
registerBeanPostProcessors()
方法調(diào)用addBeanPostProcessor()
方法將BeanPostProcessor
添加到BeanFactory
中
再注冊實現(xiàn)了Ordered
優(yōu)先級接口的BeanPostProcessor
最后注冊沒有實現(xiàn)任何優(yōu)先級接口的BeanPostProcessor
最終注冊MergedBeanDefinitionPostProcessor
類型的BeanPostProcessor
還會注冊一個ApplicationListenerDetector
來在Bean創(chuàng)建完成后檢查是否ApplicationListener
,如果是,就會把這個監(jiān)聽器bean放在容器中保存起來
到此這篇關(guān)于Spring容器的創(chuàng)建過程之如何注冊BeanPostProcessor詳解的文章就介紹到這了,更多相關(guān)注冊BeanPostProcessor內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Spring?BeanPostProcessor后處理器源碼解析
- 關(guān)于Spring BeanPostProcessor的執(zhí)行順序
- Spring BeanPostProcessor(后置處理器)的用法
- SpringBoot之通過BeanPostProcessor動態(tài)注入ID生成器案例詳解
- 詳解使用Spring的BeanPostProcessor優(yōu)雅的實現(xiàn)工廠模式
- Spring中的后置處理器BeanPostProcessor詳解
- Spring BeanPostProcessor接口使用詳解
- 解析Java的Spring框架的BeanPostProcessor發(fā)布處理器
- spring中BeanPostProcessor的作用和使用注意事項
相關(guān)文章
spring-data-redis自定義實現(xiàn)看門狗機制
redission看門狗機制是解決分布式鎖的續(xù)約問題,本文主要介紹了spring-data-redis自定義實現(xiàn)看門狗機制,具有一定的參考價值,感興趣的可以了解一下2024-03-03Android開發(fā)中實現(xiàn)用戶注冊和登陸的代碼實例分享
這篇文章主要介紹了Android開發(fā)中實現(xiàn)用戶注冊和登陸的代碼實例分享,只是實現(xiàn)基本功能,界面華麗度就請忽略啦XD 需要的朋友可以參考下2015-12-12SpringBoot集成阿里巴巴Druid監(jiān)控的示例代碼
這篇文章主要介紹了SpringBoot集成阿里巴巴Druid監(jiān)控的示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-04-04java利用pdfbox+poi往pdf插入數(shù)據(jù)
這篇文章主要給大家介紹了關(guān)于java利用pdfbox+poi如何往pdf插入數(shù)據(jù)的相關(guān)資料,文中通過實例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2022-02-02關(guān)于SpringBoot 打包成的可執(zhí)行jar不能被其他項目依賴的問題
這篇文章主要介紹了關(guān)于SpringBoot 打包成的可執(zhí)行jar不能被其他項目依賴的問題,本文給大家通過圖文實例相結(jié)合給大家分享解決方法,需要的朋友可以參考下2020-10-10