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...