Spring-第二章spring
Spring-AOP 代理,加強數據庫
目標類 + 額外功能 = 代理類編程
好比:日誌處理/事務處理/異常處理/性能分析…Redis 非關係型數據性能
1. 經過spring AOP的代理功能,給代碼增長額外的通用功能測試
2. 業務邏輯就專心的處理實際需求,通用的加強功能獨立出來3d
3. 代理的專業術語代理
額外功能叫 加強日誌
目標類叫 切入點 或 切面blog
將加強 加入到 切入點,叫編織接口
AOP是面向切面編程的一種實現
AOP步驟:
1. 導包
2. 書寫一個加強類(前置爲例)
3. 配置加強類的bean
4. 配置AOP的編織功能 寫接口的包路徑
1: 通配接口或者普通方法
2: 包名
3: 類名
4: 方法名
5: 參數
-----
加強方式4種:
1. 前置加強,在覈心功能以前執行的額外功能
2. 後置加強,在覈心功能以後執行的額外功能
3. 異常加強,在覈心功能發生異常時執行的額外功能
4. 環繞加強,在覈心功能以前以及以後執行的額外功能
AOP實例 – 環繞加強日誌記錄
需求:記錄商品的service層的日誌操做,到數據庫
1. 建立商品日誌記錄表 Product_Log
2. 完成日誌記錄表的插入邏輯
3. 環繞加強蒐集日誌記錄參數,並測試
4. 環繞加強調用日誌記錄表的插入邏輯,完成日誌記錄功能
注意:須要採用Spring IOC 模式,加載bean
AOP註解
能夠靈活的定義哪一個具體的方法實現加強功能
1. 寫一個軟 接口 建立或自定義一個註解
@AnnotationLog
2. 加強類照常寫
3. 修改切入點