1. 程式人生 > >Spring context refresh

Spring context refresh

1.prepareRefresh:Prepare this context for refreshing. 初始化context的一些屬性,狀態 2.beanfactory 的獲取和屬性的設定 3.postProcessBeanFactory 讓子類去處理beanFactory 4.invokeBeanFactoryPostProcessors:Invoke factory processors registered as beans in the context. 呼叫工程上下文,在beanFactory 建立好的時候去執行。 5.registerBeanPostProcessors 註冊beanPostProcessors 在beanFactory, beanPostProcessors 是在bean初始化前和初始化之後呼叫的類,對一種型別的bean加強做處理 6.initMessageSource messageSource的構建 7.initApplicationEventMulticaster 事件轉發器 8.onRefresh:Initialize other special beans in specific context subclasses. 初始化一些特殊的類。 這裡Spring boot 其實就是在子類上對這個方法進行編寫的。 9.registerListeners 註冊監聽器 10.finishBeanFactoryInitialization :Instantiate all remaining (non-lazy-init) singletons. 11.finishRefresh 完成Refresh

這裡比較關鍵點: <1 Context 的Listener,監聽時間的發生,從批量處理。 <2 beanPostProcesser ,這是對類的處理 ❤️ onRefresh 函式子類的自定義,web上的一些應用