1.編寫目標類並配置
這個目標類並沒有實現介面,因此spring會自動用cglib來對其進行動態**
public class orderdao
void delete()
void update()
void find()
}
2.編寫切面類並配置
//切面類
public class myaspect
}
3.使用註解對目標類進行增強
//切面類
@aspect
public class myaspect
}
4.編寫測試類
public static void main(string args)
輸出結果如下:
前置通知...
add...
1.@before 前置通知
@before(value = "execution(* org.qingyu.dao.orderdao.add(..))")
public void before()
2.@after 後置通知
@afterreturning(value = "execution(* org.qingyu.dao.orderdao.delete(..))" ,returning = "result")
public void afterreturning(object result)
3.@around 環繞通知
@around(value = "execution(* org.qingyu.dao.orderdao.find(..))")
public object around(proceedingjoinpoint proceedingjoinpoint) throws throwable
4.@afterthrowing 異常丟擲通知
@afterthrowing(value = "execution(* org.qingyu.dao.orderdao.update(..))",throwing = "e")
public void afterthrowing(throwable e)
@after(value = "myaspect.pointcut1()")
public void after()
@pointcut(value = "execution(* org.qingyu.dao.orderdao.update(..))")
private void pointcut1(){}
基於註解的Spring AOP
spring aop 基本概念 url joinpoint api url 1.定義註解 target retention retentionpolicy.runtime documented public inte ce testannotation 2.定義切面 切面 aspect 在sprin...
基於註解SpringAOP實現
aop 動態 指在程式執行期間動態的將某段 切入到指定方法指定位置進行執行的程式設計方式 1 匯入aop模組 spring aop spring aspects org.springframework spring aspects 5.2.7.release 2 定義乙個業務邏輯類 mathcalc...
Spring AOP 基於XML檔案的配置
spring aop的配置可以基於註解,也可以基於xml檔案。前面幾篇都是使用註解的方式。下面介紹下使用xml檔案如何配置 使用的測試類和切面類都類似。只需要屬於aop的註解去掉即可。下面是aop的xml配置 1 xml version 1.0 encoding utf 8 2 beans xmln...