1. 程式人生 > >《Spring原始碼深度解析》讀後感

《Spring原始碼深度解析》讀後感

大概三週看完《Spring原始碼深度解析》寫下一篇讀後感玩

首先高度概括:內容過於豐富 重點不突出

本書共分8個模組

1、XML解析部分非常全面,

各種配置方法,

解析步驟都有介紹,這裡其實就是些巢狀的呼叫,Spring原始碼肯定比自己寫的優美。

 

2、SpringBean載入主要涉及

獲取beanName、

快取、

反射,

處理迴圈依賴、

屬性注入,

單例與原型。其實概念就這麼多作者跟蹤的比較詳細,感覺跟蹤的太深反而有點抓不到重點。

 

3、AOP

動態代理(基於介面的代理-JDK動態代理)、

靜態織入(基於類的代理-CGLIB )。

proxyFactory實現原理 怎麼返回帶有織入功能的代理物件

IntroductionAdvisor與PointcutAdvisor區別:IntroductionAdvisor只能用於類級別的攔截和Introduction型別的Advice;而PointcutAdvisor可以使用任意型別的Pointcut和除Introduction型別以外的Advice。

 

織入操作過程

 

4、spring jdbc 與 mybatis

Spring與JDBC 就是封裝Template

MyBatis(簡化sqlsession建立 引數封裝 返回值封裝)

sqlsessionFactory,建立sqlsession

mapper介面 (只有介面可以使用動態代理) MapperFactoryBean 建立代理,執行mapper邏輯

 

5、spring事務

spring的事務以 aop為基礎 

Spring事務管理機制的實現原理-動態代理

事務實現:

 

第一種,使用tx標籤方式

第二種,使用代理方式

第三種,使用攔截器

spring支援的事務宣告方式

 

 

 

(1)  程式設計式事務  當系統需要明確的,細粒度的控制各個事務的邊界,應選擇程式設計式事務。

(2).  宣告式事務  當系統對於事務的控制粒度較粗時,應該選擇申明式事務,通過<tx>標籤和<aop>切面形式在xml中進行配置。

spring支援7種事務傳播行為

 

spring中的事務隔離級別

 

事務回滾規則

 

 

6、SpringMVC

主要分析了幾個主要類

ContextLoaderListener

DispacherSevlet

WebAppicationContext

HandlerExecutionChain 

 

7、RMI

8、JMS

JMSTemplate

總結:

挺全面的,就是感覺沒有靈魂內容 印象比較深的也就是Bean迴圈引用處理 以及 動態代理