Sping的AOP理解
生活随笔
收集整理的這篇文章主要介紹了
Sping的AOP理解
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
首先是百度百科對AOP的解釋:
在軟件業,AOP為Aspect Oriented Programming的縮寫,意為:面向切面編程,通過預編譯方式和運行期間動態代理實現程序功能的統一維護的一種技術。AOP是OOP的延續,是軟件開發中的一個熱點,也是Spring框架中的一個重要內容,是函數式編程的一種衍生范型。利用AOP可以對業務邏輯的各個部分進行隔離,從而使得業務邏輯各部分之間的耦合度降低,提高程序的可重用性,同時提高了開發的效率。
?要理解面向切面編程,首先需要理解什么是切面,顧名思義一刀把瓜切開,就有兩個切面。在編程中,對象跟對象之間,方法跟方法之間,模塊跟模塊之間都是一個個切面。
舉個例子,編程中把一個if條件抽取出來當作一個方法,然后其他需要用到這個if的地方全都改成調用這個抽出來的方法,優化了一下。但是同理,我每個地方都得調用太麻煩了,那就再優化一下,改成注入到接口的某個地方,這樣就是實現了面向切面,比如日志,安全校驗,緩存等。
??
?AOP中的其他專業概念:
- Aspect(切面): Aspect 聲明類似于 Java 中的類聲明,在 Aspect 中會包含著一些 Pointcut 以及相應的 Advice。
- Joint point(連接點):表示在程序中明確定義的點,典型的包括方法調用,對類成員的訪問以及異常處理程序塊的執行等等,它自身還可以嵌套其它 joint point。
- Pointcut(切點):表示一組 joint point,這些 joint point 或是通過邏輯關系組合起來,或是通過通配、正則表達式等方式集中起來,它定義了相應的 Advice 將要發生的地方。
- Advice(增強):Advice 定義了在 Pointcut 里面定義的程序點具體要做的操作,它通過 before、after 和 around 來區別是在每個 joint point 之前、之后還是代替執行的代碼。
- Target(目標對象):織入 Advice 的目標對象.。
- Weaving(織入):將 Aspect 和其他對象連接起來, 并創建 Adviced object 的過程
?
總結
以上是生活随笔為你收集整理的Sping的AOP理解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Arcgis Engine 二次开发之属
- 下一篇: 互联网早报:抖音上线外放音量过高提醒功能