在前面源碼分析的過(guò)程中,有幾次出現(xiàn)過(guò)一段代碼InterceptorChain.pluginAll(),而這就是使用插件通過(guò)動(dòng)態(tài)代理的方式對(duì)mybatis進(jìn)行功能增強(qiáng),我們平時(shí)...

在前面源碼分析的過(guò)程中,有幾次出現(xiàn)過(guò)一段代碼InterceptorChain.pluginAll(),而這就是使用插件通過(guò)動(dòng)態(tài)代理的方式對(duì)mybatis進(jìn)行功能增強(qiáng),我們平時(shí)...
RocketMQ源碼(一):NameServer的啟動(dòng)[http://www.lxweimin.com/p/fd8916c73c32]RocketMQ源碼(二):broker...
RocketMQ源碼(一):NameServer的啟動(dòng)[http://www.lxweimin.com/p/fd8916c73c32]RocketMQ源碼(二):broker...
RocketMQ源碼(一):NameServer的啟動(dòng)[http://www.lxweimin.com/p/fd8916c73c32]RocketMQ源碼(二):broker...
RocketMQ源碼(一):NameServer的啟動(dòng)[http://www.lxweimin.com/p/fd8916c73c32]RocketMQ源碼(二):broker...
RocketMQ源碼(一):NameServer的啟動(dòng)[http://www.lxweimin.com/p/fd8916c73c32]RocketMQ源碼(二):broker...
RocketMQ源碼(一):NameServer的啟動(dòng)[http://www.lxweimin.com/p/fd8916c73c32]RocketMQ源碼(二):broker...
RocketMQ源碼(一):NameServer的啟動(dòng)[http://www.lxweimin.com/p/fd8916c73c32]RocketMQ源碼(二):broker...
RocketMQ源碼(一):NameServer的啟動(dòng)[http://www.lxweimin.com/p/fd8916c73c32]RocketMQ源碼(三):broker...
RocketMQ源碼(二):broker的啟動(dòng)(一)[http://www.lxweimin.com/p/aeb2636c3019]RocketMQ源碼(三):broker的...
上圖就是spring事務(wù)一個(gè)比較完整的xml配置了,從前文中可知,spring的啟動(dòng)是從xml的解析開(kāi)始的。所以先了解下這段代碼中的 標(biāo)簽和<tx/>標(biāo)簽的解析過(guò)程。 標(biāo)簽是...
想要了解spring事務(wù)的實(shí)現(xiàn)原理,一個(gè)繞不開(kāi)的點(diǎn)就是AOP,因?yàn)槭聞?wù)就是依靠AOP實(shí)現(xiàn)的,所以在了解事務(wù)的實(shí)現(xiàn)前,先了解下AOP的實(shí)現(xiàn)原理。在前面的解析bean加載過(guò)程中我...
從類(lèi)繼承圖可以看出,ApplicationContext已經(jīng)聚合了很多重要的接口,并且它的子類(lèi)ConfigurableApplicationContext還定義了許多重要的接...
initializeBean是進(jìn)行bean初始化的,主要做了三件事:1.激活 Aware 方法2.后置處理器的應(yīng)用3.激活自定義的 init 方法 1 invokeAware...
接下來(lái)以單例模式為例,一起看看在前面那么多的準(zhǔn)備工作后,現(xiàn)在是如何創(chuàng)建 bean 對(duì)象的。 7.1 getSingleton 核心的還是 singletonFactory.g...
當(dāng)從第三步?jīng)]有獲取到對(duì)應(yīng)的bean,也就是不存在循環(huán)依賴(lài)以及重復(fù)獲取bean的情況下,就會(huì)走接下來(lái)的4、5、6、7這幾個(gè)步驟實(shí)例化以及初始化對(duì)象。 4 parentBeanF...
本文會(huì)介紹上文中提到的<1>,<2>,<3>這三個(gè)步驟的內(nèi)容 1 transformedBeanName 這段代碼的作用主要有兩個(gè):1.如果傳入的bean name是別名,那...
通過(guò)bean的加載機(jī)制來(lái)實(shí)現(xiàn)ioc依賴(lài)注入,這比bean的解析要復(fù)雜的多。更好的理解bean的加載過(guò)程有助于我們了解spring所提供的各種擴(kuò)展機(jī)制,利用這些擴(kuò)展機(jī)制可以解決...
本系列的文章會(huì)以spring為中心,在學(xué)習(xí)了spring源碼后會(huì)發(fā)散性的學(xué)習(xí)它的一些企業(yè)級(jí)應(yīng)用,如:spring-dubbo,spring-mybatis等方面。旨在了解sp...
虛擬機(jī)吧描述類(lèi)相關(guān)的class文件(也就是二進(jìn)制的字節(jié)流)加載到內(nèi)存中,并對(duì)數(shù)據(jù)進(jìn)行校驗(yàn),轉(zhuǎn)換解析和初始化,最終形成可以被虛擬機(jī)使用的java類(lèi)型,這就是虛擬機(jī)的類(lèi)加載機(jī)制。...