spring aop實現對方法進行攔截的幾種方式
spring aop實現的基礎是動態**,jdk**和cglib**的區別是,jdk只能**介面,而cglib**則也可以**類(這個我現在也沒有弄太明白)
首先給出使用到的幾個類
1.
public inte***ce accountinte***ce
2
public class accountimpl implements accountinte***ce
@override
public void hello()
}
一、使用aopalliance包內的methodinterceptor類
可在方法內做其他處理
public class springmethodinterceptor implements methodinterceptor
}
xml配置檔案
zhou.accountinte***ce
測試
public class test
}
結果
可以看到methodinterceptor成功的攔截到了say方法
二、使用aspect
import org.aspectj.lang.joinpoint;
import org.aspectj.lang.proceedingjoinpoint;
public class testaspect
public object doaround(proceedingjoinpoint pjp) throws throwable
public void dobefore(joinpoint jp)
public void dothrowing(joinpoint jp, throwable ex)
}
配置xml
<?xml version="1.0" encoding="utf-8"?>
測試
public class test
}
結果
三、使用註解配置aspect
同樣使用上面的testaspect類,做如下修改
在類上面新增註解,新增乙個方法,加上before註解
配置xml
測試
public class test
}
結果
上面的這幾種方式只是spring aop的最簡單的應用,希望能幫到大家
Spring AOP 面向切面技術
1.概念 aop aspect oriented programming 是面向切面程式設計的技術。aop 基於 ioc 基礎,是對 oop 的有益補充 aop 之所以能得到廣泛認可,主要是因為它將應用系統拆分分了 2個部分 核心業務邏輯 core business concerns 及橫向的通用邏...
寒假技術總結三
讓程式設計改變世界 change the world by program 漸漸地我們發覺編寫的每乙個程式都或多或少地需要儲存一些資料,而c 在這方面只提供了幾種最基本的方法。你可以建立區域性或全域性變數來儲存單個值,可以使用陣列來儲存多個值。今天的概念 能容納兩個或更多個值的資料結構通常我們稱為容...
spring aop入門 序列三
前兩部分了解了aop的 以及aop的基本術語,本節通過乙個簡單的例子來入門下aop。這裡通過乙個簡單的 效能評估 的例子來表述下 效能監控子方法 public class methodperformance public void printperformance 效能監控主方法 public cl...