99热这里有精品-夜夜嗨av色一区二区不卡-亚洲国产精彩中文乱码AV-日本japanese乳偷乱熟

圖解Spring AOP

1.?引入

? AOP(Aspect Oriented Programming),是面向切面編程的技術。AOP基于IoC基礎,是對OOP的有益補充。

?AOP之所以能得到廣泛認可,主要是因為它將應用系統拆分分了2個部分:核心業務邏輯(Core business concerns)及橫向的通用邏輯,也就是所謂的切面Crosscutting enterprise concerns。例如,所有大中型應用都要涉及到的持久化管理(Persistent)、事務管理(Transaction Management)、權限管理(Privilege Management)、日志管理(Logging)和調試管理(Debugging)等。使用AOP技術,可以讓開發人員只專注核心業務,而通用邏輯則使用AOP技術進行橫向切入,由專人去處理這些通用邏輯,會使得任務簡單明了,提高開發和調試的效率。

2.??基本概念

要想了解AOP,首先得了解幾個重要的基本概念:

  • 切面(Aspect):一個關注點的模塊化,這個關注點實現可能另外橫切多個對象。比如說事務管理就是J2EE應用中一個很好的橫切關注點例子。切面用Spring的Advisor或攔截器實現。
  • 連接點(Joinpoint):程序執行過程中明確的點,如方法的調用或特定的異常被拋出。
  • 通知(Advice):在特定的連接點,AOP框架執行的動作。各種類型的通知包括“around”、“before”和“throws”通知。通知類型將在下面討論。許多AOP框架包括Spring都是以攔截器做通知模型,維護一個“圍繞”連接點的攔截器鏈。
  • 切入點(Pointcut):指定一個通知將被引發的一系列連接點的集合。AOP框架必須允許開發者指定切入點,例如,使用正則表達式。
  • 目標對象(Target Object):包含連接點的對象,也被稱作被通知或被代理對象。
  • AOP代理(AOP Proxy):AOP框架創建的對象,包含通知。在Spring中,AOP代理可以是JDK動態代理或CGLIB代理。
  • 編織(Weaving):組裝方面來創建一個被通知對象。這可以在編譯時完成(例如使用AspectJ編譯器),也可以在運行時完成。Spring和其他純Java AOP框架一樣,在運行時完成織入。

 

墨脱县| 梅州市| 武冈市| 云和县| 吉首市| 乐昌市| 南平市| 睢宁县| 沂水县| 谢通门县| 顺义区| 小金县| 塘沽区| 通许县| 兴宁市| 巫山县| 荔浦县| 祁阳县| 汝阳县| 嘉定区| 扶余县| 恩施市| 安庆市| 高尔夫| 关岭| 南郑县| 荣昌县| 福安市| 彰化市| 鲁山县| 潞城市| 临夏县| 韶关市| 绥阳县| 集贤县| 中江县| 秦皇岛市| 信阳市| 阿拉尔市| 满洲里市| 闵行区|