日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

spring:《spring实战》读后感三

發布時間:2025/6/15 编程问答 17 豆豆
生活随笔 收集整理的這篇文章主要介紹了 spring:《spring实战》读后感三 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.AOP術語:

通知(Advice)

? ? 切面的工作被稱為通知。同時通知還解決了何時執行這個工作。

? ??Spring切面可以應用5種類型的通知:
? ? ? ? ? 前置通知(Before) : 在目標方法被調用之前調用通知功能;
? ? ? ? ? 后置通知(After) : 在目標方法完成之后調用通知, 此時不會關心方法的輸出是什么;
? ? ? ? ? 返回通知(After-returning) : 在目標方法成功執行之后調用通知;
? ? ? ? ? 異常通知(After-throwing) : 在目標方法拋出異常后調用通知;
? ? ? ? ? 環繞通知(Around) : 通知包裹了被通知的方法, 在被通知的方法調用之前和調用之后執行自定義的行為;

切點(pointcut)

? ? ? ?一個切面并不需要通知應用的所有連接點。 切點有助于縮小切面所通知的連接點的范圍。

連接點(join point)

? ??連接點是在應用執行過程中能夠插入切面的一個點。

切面(Aspect)

??切面是通知和切點的結合。 通知和切點共同定義了切面的全部內容——它是什么, 在何時和何處完成其功能。

織入(Weaving)

? ?織入是把切面應用到目標對象并創建新的代理對象的過程。 切面在指定的連接點被織入到目標對象中。 在目標對象的生命周期里有多個點可以進行織入:
? ? ? 編譯期: 切面在目標類編譯時被織入。 這種方式需要特殊的編譯器。 AspectJ的織入編譯器就是以這種方式織入切面的。
? ? ? 類加載期: 切面在目標類加載到JVM時被織入。 這種方式需要特殊的類加載器(ClassLoader) , 它可以在目標類被引入應用之前增強該目標類的字節碼。 AspectJ 5的加載時織入(load-timeweaving, LTW) 就支持以這種方式織入切面。
? ? ?運行期: 切面在應用運行的某個時刻被織入。 一般情況下, 在織入切面時, AOP容器會為目標對象動態地創建一個代理對象。Spring AOP就是以這種方式織入切面的。

?

2.Spring提供了4種類型的AOP支持:

? ??基于代理的經典Spring AOP;
? ? 純POJO切面;
? ? @AspectJ注解驅動的切面;
? ? 注入式AspectJ切面(適用于Spring各版本)

?

3.Spring AOP所支持的AspectJ切點指示器

? ? ? ?Spring借助AspectJ的切點表達式語言來定義Spring切面

AspectJ指
示器
描 述
arg()限制連接點匹配參數為指定類型的執行方法
@args()限制連接點匹配參數由指定注解標注的執行方法
execution()用于匹配是連接點的執行方法
this()限制連接點匹配AOP代理的bean引用為指定類型的類
target限制連接點匹配目標對象為指定類型的類
@target()限制連接點匹配特定的執行對象, 這些對象對應的類要具有指定類
型的注解
within()限制連接點匹配指定的類型
@within()限制連接點匹配指定注解所標注的類型(當使用Spring AOP時, 方
法定義在由指定的注解所標注的類里)
@annotation限定匹配帶有指定注解的連接點


4.使用注解創建切面

? ??使用注解來創建切面是AspectJ 5所引入的關鍵特性。AspectJ面向注解的模型可以非常簡便地通過少量注解把任意類轉變為切面。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Spring使用AspectJ注解來聲明通知方法

注 解通 知
@After通知方法會在目標方法返回或拋出異常后調用
@AfterReturning通知方法會在目標方法返回后調用
@AfterThrowing通知方法會在目標方法拋出異常后調用
@Around通知方法會將目標方法封裝起來
@Before通知方法會在目標方法調用之前執行

? ? ? ?@Pointcut注解能夠在一個@AspectJ切面內定義可重用的切點。



? ??

總結

以上是生活随笔為你收集整理的spring:《spring实战》读后感三的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。