《對線面試官》系列目前已經連載25篇啦!有深度風趣的系列!
- 【對線面試官】Java註解
- 【對線面試官】Java泛型
- 【對線面試官】 Java NIO
- 【對線面試官】Java反射 && 動態代理
- 【對線面試官】多執行緒基礎
- 【對線面試官】 CAS
- 【對線面試官】synchronized
- 【對線面試官】AQS&&ReentrantLock
- 【對線面試官】執行緒池
- 【對線面試官】ThreadLocal
- 【對線面試官】CountDownLatch和CyclicBarrier
- 【對線面試官】為什麼需要Java記憶體模型?
- 【對線面試官】List
- 【對線面試官】Map
- 【對線面試官】SpringMVC
- 【對線面試官】Spring基礎
- 【對線面試官】SpringBean生命週期
- 【對線面試官】Redis基礎
- 【對線面試官】Redis持久化
- 【對線面試官】Kafka基礎
- 【對線面試官】使用Kafka會考慮什麼問題?
- 【對線面試官】MySQL索引
- 【對線面試官】MySQL 事務&&鎖機制&&MVCC
- 【對線面試官】MySQL調優
關鍵原始碼方法(強烈建議自己去擼一遍)
org.springframework.context.support.AbstractApplicationContext#refresh
(入口)org.springframework.context.support.AbstractApplicationContext#finishBeanFactoryInitialization
(初始化單例物件入口)org.springframework.beans.factory.config.ConfigurableListableBeanFactory#preInstantiateSingletons
(初始化單例物件入口)org.springframework.beans.factory.support.AbstractBeanFactory#getBean(java.lang.String)
(萬惡之源,獲取並建立Bean的入口)org.springframework.beans.factory.support.AbstractBeanFactory#doGetBean
(實際的獲取並建立Bean的實現)org.springframework.beans.factory.support.DefaultSingletonBeanRegistry#getSingleton(java.lang.String)
(從快取中嘗試獲取)org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory#createBean(java.lang.String, org.springframework.beans.factory.support.RootBeanDefinition, java.lang.Object[])
(例項化Bean)org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory#doCreateBean
(例項化Bean具體實現)org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory#createBeanInstance
(具體例項化過程)org.springframework.beans.factory.support.DefaultSingletonBeanRegistry#addSingletonFactory
(將例項化後的Bean新增到三級快取)org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory#populateBean
(例項化後屬性注入)org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory#initializeBean(java.lang.String, java.lang.Object, org.springframework.beans.factory.support.RootBeanDefinition)
(初始化入口)
去網上看部落格的時候,找到了幾張比較好的圖,這裡貼下方便大家理解吧~
歡迎關注我的微信公眾號【Java3y】來聊聊Java面試
【對線面試官】系列 一週兩篇持續更新中!