javascript
!Spring Aop中四个重要概念,切点,切面,连接点,通知
一、基本概念
1. 通知: 就是我們編寫的希望Aop時額外執行的那個方法。我們通過Aop希望我們編寫的方法在目標方法執行前執行,或者執行后執行。
2. 切點:切點就是我們配置的滿足我們條件的目標方法。比如我們規定:名字前面是select開頭的才執行我們自定義的通知方法。那么這些select開頭的方法就是切點。
3. 連接點:連接點可以說是切點的全集。切點是連接點的子集。也可以理解為,連接點是我們沒有定義那個select開頭規則時,滿足條件的全部方法。
4. 切面:切面是切點和通知的合稱,作為切點切面的統稱。?
二、概念說明
1、為什么要用AOP
1)就是為了方便,國外有一個很有名的大師曾經說過,編程的人都是“懶人”,因為他把自己做的事情都讓程序去做了。用了AOP能讓你少寫很多代碼,這點就夠充分了吧。
2)就是為了更清晰的結構,一方面AOP可以讓你的業務邏輯去關注業務本身,而不需要處理與業務不相關的事情。這些其他的事情是重復調用的,例如:安全,事物,日志等。另一方面,例如日志,在不同的地方實現的是同一套邏輯,這樣就可以抽取出來,作為一個通知,然后引入到各個模塊。
2、AOP術語詳解
初看這么多術語,一下子都不好接受,慢慢來,很快就會搞懂。
3、代碼演示:
@Aspect //聲明切面,標記類
public class Audience {
?
@Pointcut("execution(* *.perform(..))") //定義切點,標記方法
public void performance() {}
?
@Before("performance()") ?//切點之前執行
public .... ? ? ?
?
@AfterReturning("performance()") ?//切點之后執行
public ...
?
@AfterThrowing("performance()") ?//切點拋出異常后執行
public ...
}
<aop:config>
<aop:aspect ref="audience"> ?//切面代碼Bean,標記類
<aop:pointcut id="performance" expression="excution(* *.performance(..))" ?/> ? //定義切點,標記方法
?
<aop:before ?method="..." ?pointcut-ref="performance" /> ?//前后通知babalalal
<aop:after-returnning ?method="..." ?pointcut-ref="performance" />
<aop:after-throwing ?method="..." ?pointcut-ref="performance" />
?
</aop:aspect>
</aop:config>
?
總結
以上是生活随笔為你收集整理的!Spring Aop中四个重要概念,切点,切面,连接点,通知的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 电动车充电起火 5人死亡:判刑6年!
- 下一篇: 现在申请贷款买房,在什么情况下,等额本金