springAOP註解式切面實現

2021-09-21 13:29:17 字數 1593 閱讀 8000

org.springframework

spring-aop

4.3.11.release

org.springframework

spring-aspects

4.3.11.release

我這裡監聽的是service層

@component

@aspect

public class testaspect ;

//多個切入點 在前置/後置/環繞通知的註解中用 && || 連線

@pointcut("execution(void com.cmoa.besteasy.yx.service.ordincomeservice.*byentity(..))")

public void ordincomepointcut(){};

/*** 前置通知:目標方法呼叫前執行的通知,可以在方法呼叫前完成自定義的行為。

* @param pjp

* @return

* @throws throwable

*/@before("orderpointcut() || ordincomepointcut()")

public void dobefore(joinpoint pjp) throws throwable

/*** 在方法正常執行通過之後執行的通知叫做返回通知

* 可以返回到方法的返回值 在註解後加入returning

* @param jp

* @param result

*/@afterreturning(value=「orderpointcut()」,returning="result")

public void doafterreturning(joinpoint jp,string result)

/*** 最終通知:目標方法呼叫之後執行的通知(無論目標方法是否出現異常均執行)

* @param jp

*/@after(value=「orderpointcut()」)

public void doafter(joinpoint jp)

/*** 環繞通知:目標方法呼叫前後執行的通知,可以在方法呼叫前後完成自定義的行為。

* @param pjp

* @return

* @throws throwable

*/@around(「orderpointcut() || ordincomepointcut()」)

public object doaround(proceedingjoinpoint pjp) throws throwable

/*** 在目標方法非正常執行完成, 丟擲異常的時候會走此方法

* @param jp

* @param ex

*/@afterthrowing(value=edp,throwing="ex")

public void doafterthrowing(joinpoint jp,exception ex)

}

總結:如果切入點正確,可以測試測試了

Spring Aop 切面的應用 註解

本次記錄的是使用spring註解的方式來實現切面程式設計.實現環境 設定乙個分布式鎖,在修改資料的時候,判斷鎖,加鎖,完成資料修改後,釋放鎖.自定義乙個鎖註解,新增到方法上,在執行方法前根據引數設定鎖key,target retention retentionpolicy.runtime publi...

註解式 Spring AOP初識

why aop?減少 就是為了更清晰的邏輯,可以讓你的業務邏輯去關注自己本身的業務,而不去想一些其他的事情。這些其他的事情包括 安全 事務 日誌等。demo工程如下 1.定義乙個service基礎類。service math public class math public int sub int ...

Spring AOP註解和切面表示式詳解

集中處理某一關注點 橫切邏輯 可以很方便的新增 刪除關注點 侵入性少,增強 可讀性以及可維護性 許可權控制 快取控制 事務控制 審計日誌 效能監控 分布式追蹤 異常處理 切面表示式主要由三部分組成 designators 指示器 execution 等 wildcards 萬用字元 operator...