Spring Aop 註解和配置實現

2021-08-04 04:55:59 字數 2128 閱讀 4199

1、註解方式實現

1)需要在配置檔案中配置開啟:

/>

2)其他資訊直接寫在**中,方便理解。

package com.cms.modules.audit;

import org.aspectj.lang.proceedingjoinpoint;

import org.aspectj.lang.annotation.after;

import org.aspectj.lang.annotation.afterreturning;

import org.aspectj.lang.annotation.afterthrowing;

import org.aspectj.lang.annotation.around;

import org.aspectj.lang.annotation.aspect;

import org.aspectj.lang.annotation.before;

import org.aspectj.lang.annotation.pointcut;

import org.slf4j.logger;

import org.slf4j.logge***ctory;

import org.springframework.stereotype.component;

import org.springframework.transaction.annotation.transactional;

import com.geleevr.cms.modules.sys.entity.user;

@component

@aspect // 1、需要在類上新增註解

@transactional

public class logaspect

/*** @before 前置註解的通知

* aspectmedthod() 指定前置通知的切點

* &&args=(user,abc)攔截方法帶引數名稱叫user和abc的方法

* @param user

*/@before("aspectmedthod()&&args=(user,abc)") //3、前置方法註解

public void beforemedthod(user user)

/*** @after 後置註解的通知

* 使用argnames 指定所有的引數等同於上面的方式

* aspectmedthod()&&args=(param) 等同於 aspectmedthod(param)

*/@after(value = "aspectmedthod()&&args=(param)" , argnames = "param")

public void aftermedthod(user user)

/*** @afterreturning 返回註解通知

* * @param e

*/@afterreturning(value="aspectmedthod()" , returning="user")

public void afterreturningmedthod(user user)

/*** @afterreturning 例外註解通知(主要用於執行前監控,並記錄異常資訊)

* * @param e

*/@afterthrowing(value="aspectmedthod()" , argnames="e")

public void exceptionmedthod(exception e)

/*** 使用logfetch註解修飾的方法將被攔截

* @param pjp

* @return

* @throws throwable

*/@around(value="@annotation(com.cms.modules.audit.annotation.logfetch)")

public object loggfetch(proceedingjoinpoint pjp) throws throwable

}

2、配置方式

SpringAOP 全註解配置

和xml配置相比,用 註解配置 更加簡單,但是需要先理解xml配置 druid.propertiesjdbc.driverclassname com.mysql.jdbc.driver jdbc.url jdbc mysql localhost 3306 db2 jdbc.username root...

Spring AOP配置之註解方式

在pom.xml檔案中匯入所需的依賴 在配置檔案中開啟aop註解支援 配置切面類 aspect 配置切入點 pointcut 配置通知方法,並為通知方法配置通知型別 before aspect pointcut before afterreturning afterthrowing after ar...

基於註解的spring AOP的配置和簡易使用

具體如下 xmlns xmlns xsi xmlns aop xmlns tx xsi schemalocation spring beans 2.0.xsd spring aop 4.1.xsd spring tx 2.0.xsd beans 然後就可以直接開始寫aspect切面類了 這裡demo...