Java Spring里getBean方法的实现
位于DefaultListableBeanFactory:getBean
AbstractBeanFactory.java: doGetBean
Beans.xml里如無(wú)特殊聲明,定義的bean默認(rèn)都是singleton,故執(zhí)行310行的getSingleton:
雖然方法名稱為get,但是注釋寫(xiě)得很清楚,如果Bean尚未被注冊(cè),就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)用無(wú)參構(gòu)造函數(shù):
BeanUtils.instantiateClass:
調(diào)用棧:
開(kāi)始執(zhí)行構(gòu)造函數(shù)了:
bean實(shí)例創(chuàng)建完畢:
要獲取更多Jerry的原創(chuàng)文章,請(qǐng)關(guān)注公眾號(hào)"汪子熙":
總結(jié)
以上是生活随笔為你收集整理的Java Spring里getBean方法的实现的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Java Spring Beans.xm
- 下一篇: 追缴并罚款545.8万元!又一网络主播偷