spring aop 2 0 程式設計(二)乙個例項

2021-04-09 04:32:08 字數 2383 閱讀 9002

前面這是講了許多的概念,下面以乙個例子來說明:

乙個很好理解的aop 例子,也就是日誌服務。

先從aop第一種方式來實現,也就是xml配置方式

先建立基本的日誌類:

public class logger

}這裡只是簡單的乙個方法,當然實際情況可能不同。

由於xml配置需要乙個方面的實現bean

所以建立乙個簡單的bean :

public class logbean

}這裡採取簡單的around advice,其他型別的advice 基本上都差不多

當然有了這兩個核心的日誌類,需要乙個測試類,用於測試。

public class testbean

public void method2()

}這就是需要測試的類了,需要記錄日誌的方法只有兩個,這裡用system.out.println,只是想顯示方法的呼叫順序。

然後關鍵的在於xml的配置了

現在寫乙個測試類:

public class logxmltest extends roottest

public void testlog()

}public abstract class roottest extends testcase

列印的訊息如下:

2006-09-17 11:08:28,203 info [org.spring.test.aop.log.logger] - before invoke method:method1

in method1

2006-09-17 11:08:28,203 info [org.spring.test.aop.log.logger] - after invoke method:method1

2006-09-17 11:08:28,218 info [org.spring.test.aop.log.logger] - before invoke method:method2

in method2

2006-09-17 11:08:28,218 info [org.spring.test.aop.log.logger] - after invoke method:method2

第二種實現方式,採用注釋方式:

logger 類不變

建立乙個logaspect類

@aspect

public class logaspect

}配置檔案就簡單多了

測試類:

跟上面的差不多

把xml檔案換掉就行

列印的方式差不多

個人還是比較喜歡第二種實現。 

spring aop 2 0 程式設計

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

spring aop 2 0 程式設計

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

Spring AOP 程式設計

package com.xcl.common import org.aspectj.lang.proceedingjoinpoint import org.aspectj.lang.annotation.after import org.aspectj.lang.annotation.afterre...