Spring AOP 示例 環繞增強 日誌記錄

2021-10-05 14:30:52 字數 2620 閱讀 3055

1. 建立商品日誌記錄表 product_log

create sequence seq_product_log start

with1;

select

*from product_log;

create

table product_log(

pl_id number primary

key,

--主鍵

action_class varchar2(50)

,--始發類

method_name varchar2(50)

,--方法名

args varchar2(

100)

,--引數集

create_date date

default sysdate

)segment creation immediate;

2. 完成日誌記錄表的插入邏輯

"com.gxy.dao.productlogdao"

>

<

!-- 通用結果集對映--

>

"com.gxy.entity.productlog" id=

"baseresultmap"

>

"pl_id" property=

"piid"

/>

"action_class" property=

"actionclass"

/>

"method_name" property =

"methodname"

/>

"args" property=

"args"

/>

"create_date" property=

"createdate"

/>

<

/resultmap>

<

!-- 日誌記錄 --

>

"insertlog"

>

insert into product_log

(pl_id,action_class,method_name,args)

values

(seq_product_log.nextval,#

,#,#

)<

/insert>

<

3. 環繞增強蒐集日誌記錄引數,並測試

<
!-- 增強功能 --

>

"myinterceptor"

class

="com.gxy.aop.myinterceptor"

>

<

/bean>

<

!-- aop配置 編織 --

>

"execution(* com.gxy.service.productservice.*(..))" id=

"mypointcut"

/>

"myinterceptor" pointcut-ref=

"mypointcut"

/>

<

/aop:config>4. 環繞增強呼叫日誌記錄表的插入邏輯,完成日誌記錄功能

public
class

myinterceptor

implements

methodinterceptor

args = args.

replacefirst

("-",""

);//載入spring主配置檔案 建立工廠

new();

productlogservice productlogservice =

(productlogservice) context.

getbean

("productlogservice");

productlog productlog =

newproductlog()

; productlog.

setactionclass

(actionclass)

; productlog.

setargs

("args");

productlog.

setmethodname

(methodname)

;int i = productlogservice.

addlog

(productlog)

;//執行目標原方法

SpringAOP環繞通知的使用

在springaop中有五種通知,環繞通知是最為強大的通知。它能夠讓你編寫的邏輯將被通知的目標方法完全包裝起來。實際上就像在乙個通知方法中同時編寫前置通知和後置通知。本片文章具體講解環繞通知的使用。使用環繞通知定義切面 aspect public class audiencearound aroun...

Spring AOP 引入增強

上篇部落格寫到了 spring aop 不管是前置增強,後置增強,引入增強都是對方法的增強,但是是否考慮過對類進行增強呢?偉大的 spring 做到了,只是換了一種說法 introduction 引入 首先我們來說一下引入增強的目的 動態的讓被增強的類實現乙個介面 下面就寫一下 吧 定義了乙個新介面...

Spring aop學習示例

我這裡只貼出來關鍵類和配置檔案。aspect類 spring配置檔案 xmlns xsi xmlns context xmlns aop xmlns tx xmlns mvc xsi schemalocation spring beans 3.2.xsd spring context 3.2.xsd...