Spring AOP之入門小案例

2021-10-20 22:55:39 字數 1668 閱讀 2667

1.定義切面類aspect

增添:@component 告訴spring容器掃瞄這個元件

@aspect 告知spring這個類是個切面類

兩個註解

/**

* 定義切面類

**/@aspect

@component

public

class

loggingadvice

2.定義切點pointcut

定義切點,

並定義在哪些地方執行。

採用:@pointcut註解

@pointcut

(public

* com.***.***.*.*(..

))

規則

修飾符(可不寫,但不能用*)+ 返回值 + 包下的類 + 方法引數 (『*』代表不限,『.

.』兩個點代表引數不限)

/**

* 切點名稱mypointcut,返回型別不限;com.quanfon.sprint.aop.controller包下所有的類,所有方法,引數不限

**/@pointcut

(value =

"execution ( * com.quanfon.sprint.aop.controller.*.*(..))"

)public

void

mypointcut()

3.定義advice通知

利用通知的5種註解

@before

@after

@afterreturning

@around

來完成在某些切點的增強動作。

比如

@before

("mypointcut()"

)

mypointcut為第二步驟定義的切點

@around

("mypointcut()"

)(proceedingjointpoint pjp)

throws throwable

package com.sag.spring.aop.controller;

@restcontroller

public

class

hellocontroller

("/hello1"

)public string hello1

(@requestparam

("name"

)string name,

@requestparam

("age"

)string age)

}

package com.sag.spring.aop;

@aspect

@component

public

class

myadvie

@around

("mypointcut()"

)public object mylogger

(proceedingjoinpoint pjp)

throws throwable

}

七 SpringAOP入門案例(基於xml配置)

spring的aop是面向切面程式設計的意思,不需要改變原有 的基礎上對原有 進行增強 我們來看入門案例 首先建立乙個service介面 package com.lp.service date 2020 5 29 14 37 author luopeng public inte ce account...

Python入門小案例

python入門小案例 print hello def test print mr zhang test if name main print world class fish hungry true def eat self,food if food is not none self.hungry...

Python 入門小案例

1 合法識別符號規則 數字 下劃線 字母構成 避開關鍵字 不能用數字開頭 避開內建電池中的函式 2 樣例 非法 以字母開頭 1f a 1f a.isidentifier 輸出 false樣例 合法 fhdaksh a fhdaksh a.isidentifier 輸出 true item 1 for...