无码av一区二区三区无码,在线观看老湿视频福利,日韩经典三级片,成 人色 网 站 欧美大片在线观看

歡迎光臨散文網 會員登陸 & 注冊

Spring系列(十二):AOP相關知識筆記

2022-07-03 07:58 作者:IT技術分享社區(qū)  | 我要投稿


? ? ? ? ?
今天給大家分享AOP相關的知識,希望對大家能有所幫助!

1、AOP定義

AOP全稱為Aspect Oriented Programming,中文含義為:面向切面編程。通過預編譯方式和運行期動態(tài)代理實現(xiàn)程序功能的統(tǒng)一維護的技術。AOP技術是Spring框架中的一個重要內容。使用AOP技術可以對業(yè)務邏輯的各個部分進行隔離,可以使業(yè)務邏輯各部分之間的耦合度降低,提高程序的可重用性,同時也提高了開發(fā)的效率。? ? ? ?

?? ? ? ?

2、AOP的用途

使用AOP技術可以很好的將日志記錄,性能統(tǒng)計,安全控制,事務處理,異常處理、Web參數(shù)校驗等代碼邏輯從業(yè)務代碼中分離出來,讓開發(fā)人員只需要關注業(yè)務代碼的編寫,從而開發(fā)效率,節(jié)省開發(fā)成本。

3、AOP常用的注解


@Aspect切面聲明:通常標注在類、接口(包括注解類型)或枚舉上。

@Pointcut切入點聲明:即切入到哪些目標類的目標方法。value 屬性指定切入點表達式,默認為 “”,用于被通知注解引用,這樣通知注解只需要關聯(lián)此切入點聲明即可,無需再重復寫切入點表達式

@Before前置通知:?在目標方法(切入點)執(zhí)行之前執(zhí)行。value 屬性綁定通知的切入點表達式,可以關聯(lián)切入點聲明,也可以直接設置切入點表達式注意:如果在此回調方法中拋出異常,則目標方法不會再執(zhí)行,會繼續(xù)執(zhí)行后置通知 -> 異常通知。

@After后置通知,:在目標方法(切入點)執(zhí)行之后執(zhí)行

@AfterRunning返回通知,:在目標方法(切入點)返回結果之后執(zhí)行,在?@After 的后面執(zhí)行pointcut 屬性綁定通知的切入點表達式,優(yōu)先級高于 value,默認為 “”

@AfterThrowing異常通知,:在方法拋出異常之后執(zhí)行, 意味著跳過返回通知pointcut 屬性綁定通知的切入點表達式,優(yōu)先級高于 value,默認為 “”說明:如果目標方法自己 try-catch 了異常,而沒有繼續(xù)往外拋,則不會進入此回調函數(shù)

@Around環(huán)繞通知:目標方法執(zhí)行前后分別執(zhí)行一些代碼,發(fā)生異常的時候執(zhí)行另外一些代碼

4、AOP實現(xiàn)Web統(tǒng)一日志Demo

4.1 新建IErrorCode.java 接口類



4.2 新建ResultCode.java 接口類





4.3 新建WebLog.java





4.4 新建WebLogAspect.java 類





4.5 新建測試控制器TestLogController.java





請求參數(shù):localhost:8080/TestLog/Test?name=121輸出結果:{"result":"hello121","basePath":"http://localhost:8080","method":"GET","startTime":1645883742030,"uri":"/TestLog/Test","url":"http://localhost:8080/TestLog/Test","spendTime":4695}


Spring系列(十二):AOP相關知識筆記的評論 (共 條)

分享到微博請遵守國家法律
嘉祥县| 漳平市| 大庆市| 新民市| 柯坪县| 井陉县| 杭锦后旗| 乌海市| 安达市| 富阳市| 松溪县| 体育| 银川市| 工布江达县| 广饶县| 嵊泗县| 清流县| 庄河市| 大关县| 安仁县| 青岛市| 赣榆县| 虹口区| 平罗县| 济南市| 唐海县| 巴中市| 灌云县| 揭阳市| 松原市| 永善县| 玛纳斯县| 扶风县| 泗水县| 环江| 玉林市| 集贤县| 荣昌县| 武乡县| 鹤峰县| 竹北市|