Java Spring里getBean方法的实现
生活随笔
收集整理的這篇文章主要介紹了
Java Spring里getBean方法的实现
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
位于DefaultListableBeanFactory:getBean
AbstractBeanFactory.java: doGetBean
Beans.xml里如無特殊聲明,定義的bean默認(rèn)都是singleton,故執(zhí)行310行的getSingleton:
雖然方法名稱為get,但是注釋寫得很清楚,如果Bean尚未被注冊,就register a new one:
準(zhǔn)備創(chuàng)建名為dataSource的singleton bean了:
奧妙在這個(gè)singletonFactory里:
終于看到createBean了:
在AbstractAutowireCapableBeanFactory里,執(zhí)行doCreateBean:
createBeanInstance:
使用反射機(jī)制,準(zhǔn)備實(shí)例化Bean實(shí)例:
調(diào)用無參構(gòu)造函數(shù):
BeanUtils.instantiateClass:
調(diào)用棧:
開始執(zhí)行構(gòu)造函數(shù)了:
bean實(shí)例創(chuàng)建完畢:
要獲取更多Jerry的原創(chuàng)文章,請關(guān)注公眾號(hào)"汪子熙":
總結(jié)
以上是生活随笔為你收集整理的Java Spring里getBean方法的实现的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java Spring Beans.xm
- 下一篇: 使用Java JdbcTemplate对