Spring原始碼解析(一)

2021-09-25 09:06:34 字數 2407 閱讀 8926

本系列總結spring原始碼深度解析這本書,因為已經讀了70頁,所以前面的稍微過一下,第三章開始重點解析。

知識點一:

aspectj的用法:

比如有乙個helloworldl類:

public class helloworld 

}

使用aspectj外掛程式後,在sayhello方法前後新增邏輯,只需要這樣做:

public aspect txaspect 

}

知識點二:

bean的使用流程:

public class mytestbean 

}

配置檔案:

測試**:

@suppresswarnings( " deprecation 」 )

public class beanfactorytest

}

這段**做了以下事情:

知識點三:

**註冊和載入bean的核心類:defaultlistablebeanfactory

defaultlistablebeanfactory中用到的類:

aliasregistrγ : 定義對alias 的簡單增刪改等操作。

******aliasregistry : 主要使用map 作為alias 的快取,並對介面aliasregistry 進行

實現。singletonbeanregistry :定義對羊例的註冊及獲取。

beanfactory :定義獲取bean 及bean 的各種屬性。

defauitsringletonbeanregistry :對介面singletonbeanregistry 各函式的實現。

25hierarchicalbeanfactory :繼承beanfactory ,也就是在beanfactory 定義的功能的基礎

上增加了對parentfactory 的支援。

beandefinitionregistry : 定義對beandefinition 的各種增刪改操作。

factorybeanregistrysupport :在defaultsingletonbeanregistry 基礎上增加了對factoryb巳an

的特殊處理功能。

configurablebeanfactory :提供配直factory 的各種方法。

listablebeanfactory :根據各種條件獲取bean 的配直清單。

abstractbeanfactory :綜合factorybeanregistrysupport 和configurablebeanfactory 的

功能。autowirecapablebeanfactory :提供建立bean 、自動注入、初始化以及應用b巳an 的後

處理器。

abstractautowirecapablebeanfactory :綜合abstractbeanfactory 並對介面autowirecapable

beanfactory 進行實現。

configurablelistablebeanfactory : beanfactory 配直清單,指定忽略型別及介面等。

defaultlistablebeanfactory : 綜合上面所有功能, 主要是對bean 註冊後的處理。

配置檔案的讀取核心類:xmlbeandefinitionreader

resourceloader :定義資源載入器,主妥應用於根據給定的資源檔案位址返回對應的

resource 。

beandefinitionreader :主要定義資源檔案讀取並轉換為beandefinition 的各個功能。

environm巳ntcapabl e :定義獲取env ironment 方法。

documentloader :定義從資源、檔案載入到轉換為document 的功能。

abstractbeandefinitionreader :對environmentcapabl e 、beandefinitionreader 類定義的

功能進行實現。

beandefinitiondocumentreader :定義讀取docuemnt 並註冊beandefinition 功能。

beandefinitionparserdelegate :定**析element 的各種方法。

xmlbeandefinitionreader如何解析配置檔案分為以下幾步:

知識點四:

resource是獲取配置檔案的介面,實現類有urlresource,inputstreamresource,bytearrayresource,filesystemresource,classpathresource等,提供resource.getinputstream();方法獲取配置檔案流。

spring原始碼解析 一

注入模型 找bean和注入bean使用不一樣的技術.例如 bytype 先根據型別找bean,再根據set方法注入bean.mode 模式 explanation 功能說明 no 預設 無自動裝配。bean引用必須由ref元素定義。對於較大的部署,建議不要更改預設設定,因為明確指定協作者可以提供更好...

spring原始碼解析

spring源 解析 一 ioc容器 spring源 解析 二 ioc容器在web容器中的啟動 spring源 解析 三 spring jdbc spring源 解析 四 spring mvc spring源 解析 五 spring aop獲取proxy spring源 解析 六 spring宣告式...

Spring原始碼解析

spring原始碼解析 收藏 spring源 解析 一 ioc容器 spring源 解析 二 ioc容器在web容器中的啟動 spring源 解析 三 spring jdbc spring源 解析 四 spring mvc spring源 解析 五 spring aop獲取proxy spring源...