javascript
SpringAOP概念
AOP 簡介
AOP(Aspect-Oriented Programming, 面向切面編程): 是一種新的方法論, 是對傳統 OOP(Object-Oriented Programming, 面向對象編程) 的補充.
AOP 的主要編程對象是切面(aspect), 而切面模塊化橫切關注點.
在應用 AOP 編程時, 仍然需要定義公共功能, 但可以明確的定義這個功能在哪里, 以什么方式應用, 并且不必修改受影響的類. 這樣一來橫切關注點就被模塊化到特殊的對象(切面)里.
AOP 的好處:
每個事物邏輯位于一個位置, 代碼不分散, 便于維護和升級
業(yè)務模塊更簡潔, 只包含核心業(yè)務代碼.
AOP
AOP 術語
切面(Aspect):? 橫切關注點(跨越應用程序多個模塊的功能)被模塊化的特殊對象
通知(Advice):? 切面必須要完成的工作
目標(Target): 被通知的對象
代理(Proxy): 向目標對象應用通知之后創(chuàng)建的對象
連接點(Joinpoint):程序執(zhí)行的某個特定位置:如類某個方法調用前、調用后、方法拋出異常后等。連接點由兩個信息確定:方法表示的程序執(zhí)行點;相對點表示的方位。例如 ArithmethicCalculator#add() 方法執(zhí)行前的連接點,執(zhí)行點為 ArithmethicCalculator#add(); 方位為該方法執(zhí)行前的位置
切點(pointcut):每個類都擁有多個連接點:例如 ArithmethicCalculator 的所有方法實際上都是連接點,即連接點是程序類中客觀存在的事務。AOP 通過切點定位到特定的連接點。類比:連接點相當于數據庫中的記錄,切點相當于查詢條件。切點和連接點不是一對一的關系,一個切點匹配多個連接點,切點通過 org.springframework.aop.Pointcut 接口進行描述,它使用類和方法作為連接點的查詢條件。
Spring? AOP
AspectJ:Java 社區(qū)里最完整最流行的 AOP 框架.
在 Spring2.0 以上版本中, 可以使用基于 AspectJ 注解或基于 XML 配置的 AOP
?
超強干貨來襲 云風專訪:近40年碼齡,通宵達旦的技術人生總結
以上是生活随笔為你收集整理的SpringAOP概念的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Aop动态代理解决问题
- 下一篇: Spring事务管理介绍