天天看點

Spring源碼分析

Sping思想 應用場景(特點) 一句話歸納
AOP 1、Aspect Oriented Programming(面向切面程式設計);2、找出多個類中有一定規律的代碼,開發時拆開,運作時再合并;3、面向切面程式設計,即面向規則程式設計。 解耦,專人做專事
OOP 1、Object Oriented Programming(面向對象程式設計);2、歸納總結生活中一切事物。 封裝、繼承、多态
BOP 1、Bean Oriented Programming(面向Bean程式設計);2、面向Bean(普通的java類)設計程式 一切從Bean開始
IOC 1、Inversion of Control;2、将New對象的動作交給Spring管理,并由Spring儲存已建立的對象(IOC容器)。 轉交控制權(即控制權反轉)
DI/DL 1、Dependency Injection(依賴注入) / Dependency Lookup(依賴查找);2、依賴注入、依賴查找、Spring不僅儲存自己建立的對象,而且儲存對象與對象之間的關系;3、注入即指派,主要三種方式:構造方法、set方法、直接指派 先理清關系,再指派

設計模式

應用場景(特點) Design Patterns
代理模式 Proxy 1、兩個參與角色:執行者(代理人)、被代理人;2、對于被代理人來說,這件事情是一定要做的,但是我自己又不想做或者沒有時間做,找代理;3、代理人必須需要擷取到被代理人的個人資料(持有被代理人的引用) 辦事要求人,是以找代理
工廠模式 Factory 1、對于調用者來說,隐藏了複雜的邏輯處理過程,調用者隻關心執行結果;2、對于工廠來說要對結果複雜,保證生産出符合規範的産品 隻對結果負責,不要三無産品
單例模式 Singleton 1、保證從系統啟動到系統終止,全過程隻會産生一個執行個體;2、當我們在應用中遇到功能性沖突的時候,需要使用單例模式 保證獨一無二
委派模式 Delegate 1、兩個參與角色:委托人和被委托人;2、委托人和被委托人在權利上完全平等(即實作同一個接口);3、委托人持有被委托人的引用;4、不關心過程,隻關心結果。 幹活是你的(普通員工),功勞是我的(項目經理)
政策模式 Strategy 1、最終執行結果是固定的;2、執行過程和執行邏輯不一樣 我行我素,達到目的就行
原型模式 Prototype 1、首先有一個原型;2、資料内容相同,但對象執行個體不同(完全兩個不同的記憶體位址) 拔一根猴毛,吹出千萬個。
模闆模式 Template 1、執行流程固定,但中間有些步驟有細微差别;2、可實作批量生産 流程标準化,原料自給加。

Spring架構圖:

Spring源碼分析

1、

Spring源碼分析

依賴關系:

繼續閱讀