《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為基礎
事務實現:
第一種,使用tx標籤方式
第二種,使用代理方式
第三種,使用攔截器
spring支援的事務宣告方式
(1) 程式設計式事務 當系統需要明確的,細粒度的控制各個事務的邊界,應選擇程式設計式事務。
(2). 宣告式事務 當系統對於事務的控制粒度較粗時,應該選擇申明式事務,通過<tx>標籤和<aop>切面形式在xml中進行配置。
spring支援7種事務傳播行為
spring中的事務隔離級別
事務回滾規則
6、SpringMVC
主要分析了幾個主要類
ContextLoaderListener
DispacherSevlet
WebAppicationContext
HandlerExecutionChain
7、RMI
8、JMS
JMSTemplate
總結:
挺全面的,就是感覺沒有靈魂內容 印象比較深的也就是Bean迴圈引用處理 以及 動態代理