core container (核心容器)
beans (基礎概念是beanfactory),用於訪問配置檔案、建立和管理bean,以及ioc 和di操作相關。
core:spring 框架基本的核心工具類。
context:構建於core和beans模組基礎之上,繼承了beans的特性,提供了對國際化、事件傳播、資源載入和對context的透明建立的支援。
expression language提供強大的表示式語言,用於在執行時查詢和操縱物件。
aop:面向切面程式設計的實現,通過定義方法***和切點,將邏輯**分開。
aspects模組提供了aspectj的整合支援。
web:為基於web應用程式提供上下文。
data access/integration: 對資料訪問進行封裝的所有類(jdbc模組)。物件-關係對映api,如mybatis、hibernate(orm模組)
beanfactory bf = new xmlbeanfactory(new classpathresource("beans.xml"));
object bean = bf.getbean("test");
進入方法xmlbeanfactory檢視原始碼
分析doloadbeandefinitions方法
返回第2部分第一張圖截圖中的registerbeandefinitions方法進行解析
判斷命名空間是預設解析還是使用自定義命名空間解析進行bean的解析。
預設命名空間解析
追蹤到parsebeandefinitionelement(element ele)裡的下一段**中
到這裡便完成了xml檔案到genericbeandefinition的轉換,xml中所有的配置資訊都可以在genericbeandefinition例項中找到對應的配置資訊。genericbeandefinition是abstractbeandefinition的子類,大部分通用屬性都儲存在abstractbeandefinition中。
Spring原始碼解析(一)
本系列總結spring原始碼深度解析這本書,因為已經讀了70頁,所以前面的稍微過一下,第三章開始重點解析。知識點一 aspectj的用法 比如有乙個helloworldl類 public class helloworld 使用aspectj外掛程式後,在sayhello方法前後新增邏輯,只需要這樣做...
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宣告式...