Spring基礎(二)--- 思想
阿新 • • 發佈:2018-12-21
T1: Spring AOP
Spring的核心就是面向切面程式設計,AOP最典型實現就是攔截器。
AOP有幾個概念:
1.切面:從業務邏輯中,分離出來的橫切邏輯,如:日誌,監控;
2.切點:匹配目標連線類的條件;
3.增強(advice):具體切入目標類的類;
4.連線點:應用程式中允許切面切入的點;
5.目標:目標方法(JDK代理)或目標類(CGLIB代理)
6.代理:JDK代理,CGLIB代理。或是通過 ProxyFactory 類生產。
切點/連線點/增強的關係:
增強總是在連線點處執行,而切點決定了是哪一個連線點。point cut 是一個描述資訊, 它修飾的是 join point, 通過 point cut, 我們就可以確定哪些 join point 可以被織入 Advice.
代理類=原來的類+增強的類
對於增強來說,有多種,分為兩大類:
一.對方法的增強:
1.前置
2.後置
3.環繞
4.返回:在方法返回結果後執行,該增強可以接收到目標方法返回結果。
5.丟擲
二.對類的增強:
引入增強:動態實現某個增強。
T2: Spring IoC and DI
控制反轉和依賴注入其實是一個概念,一種程式設計思想:一段程式中,會有很多依賴的物件和資料,通過xml配置以反射的原理將物件動態的生成,以此解偶,物件的生成只需要通過配置交給Spring容器管理。