Spring AOP 程式設計

2021-08-30 18:56:20 字數 1351 閱讀 7049

package com.xcl.common;

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;

@aspect //用來指明這個類是切面

public class myinterceptor //宣告乙個切入點

//前置通知:攔截到某個類後,先執行前置通知

//如果加args(username),測只能攔截方法的引數為string型別的,且只有乙個引數的方法

@before("anymethod() && args(username)")

public void dobeforeadvice(string username)

//@afterreturning("anymethod()")//如果不需要返回值,可以這個設定

@afterreturning(pointcut="anymethod()", returning="result")

public void doafteradvice(string result)

@after("anymethod()")

public void dofinallyadvice()

//@afterthrowing("anymethod()")

@afterthrowing(pointcut="anymethod()", throwing="e")

public void doexceptionadvice(exception e)

//環繞通知可以替代上面的所有通知,完成乙個完整的許可權攔截的過程

@around("anymethod()")

public object doaroundprofiling(proceedingjoinpoint pjp) throws throwable catch (exception ex) finally

} return result;}}

Spring aop 切面程式設計

package cn.annals.demo.proc.aop import org.aspectj.lang.joinpoint import org.aspectj.lang.proceedingjoinpoint import org.aspectj.lang.annotation.after...

Spring AOP切面程式設計

切面表示式 execution 修飾符 返回值型別 包.類.方法 引數列表 1 完全寫法 execution public void com.syy.xml aop.userimpl.work int 2 修飾符省略 execution void com.syy.xml aop.userimpl.w...

spring aop 2 0 程式設計

在spring2.0中,aop發生了很大的變化 主要分為兩大方面 1.支援簡單的aop xml配置 2.支援 aspectj的注釋 先來看一看第一種情況 申明乙個aspect,在xml中的申明如下 申明pointcut 申明advice before advice pointcut ref data...