學習筆記 5 Spring AOP之通知型別

2021-08-20 16:34:50 字數 1674 閱讀 3408

a)        介面

package com.spring.aop2;

public inte***ce idivision

b)        介面實現類

package com.spring.aop2;

import org.springframework.stereotype.component;

@component

public class division implements idivision

}c)        切面類com.spring.aop2.divisionaspect的前置通知和後置通知

//前置通知

@before("execution(public int com.spring.aop2.division.*(..))")

public void beforeaop(joinpoint jp)

//後置通知

@after("execution(public int com.spring.aop2.division.*(..))")

public void afteraop(joinpoint jp)

d)        配置檔案(注意定義aop和context)

e)        main方法

f)         執行結果

//返回通知

//@afterreturning註解中新增表示式returning屬性用來傳入返回值

@afterreturning(pointcut="execution(public int com.spring.aop2.division.*(..))",returning="result")

//第二個引數object的引數名必須和表示式returning屬性名一致

public void afterreturningaop(joinpoint jp,object result)

//異常通知

//@afterthrowing註解中新增表示式throwing屬性用來傳入異常資訊

@afterthrowing(pointcut="execution(public int com.spring.aop2.division.*(..))",throwing="ex")

//第二個引數異常類(也可以根據需要指定異常類)的引數名必須和表示式throwing屬性名一致

public void afterthrowingaop(joinpoint jp,exception ex)

//環繞通知(此例子不完美有異常)

@around("execution(public int com.spring.aop2.division.*(..))")

public void aroundaop(proceedingjoinpoint pjp) catch (throwable ex)

system.out.println("@around執行後置通知");

}

學習筆記之SpringAOP

aop即面向切面程式設計,可以說是物件導向程式設計oop的乙個補充和完善。oop允許我們縱向定義縱向的關係 類 屬性 方法 不適合定義橫向關係。例如日誌,許可權等功能,這些功能橫向分布在很多物件之中,這種橫向散布的通用 導致了大量 重複,不利於復用。aop採用 橫切 技術,剖開物件內部,把那些通用的...

Spring學習筆記之SpringAOP基礎

aop aspect oriented programming,面向切面程式設計 是一種新的方 是對傳統oop object oriented programming,物件導向程式設計 的補充。aop 的主要程式設計物件是切面 aspect 而切面模組化橫切關注點.在應用 aop 程式設計時,仍然需...

springAOP學習筆記

今天看spring的aop,頭都看暈了 切面aspect,連線點joinpoint 切入點pointcut,proxy,通知advice,前置通知before advice 後置通知after advice,異常通知after throwing advice 最終通知 after finally a...