国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

用Spring AOP實現開發中松散耦合

2019-11-18 15:37:42
字體:
來源:轉載
供稿:網友
摘要 面向方面編程(AOP)是面向對象編程(OOP)的一種擴展技術,能夠很好的解決橫切關注點問題以及相關的設計難題來實現松散耦合。SPRing AOP 是 AOP 技術的一種實現。本文介紹了AOP 概念,然后具體討論了如何利用Spring AOP 開發AOP 程序,最后展望了Spring AOP 的前景。

  要害詞 AOP Spring AOP java

  引言

  AOP(aspected Oriented Programming)是一種新興的編程技術。它可以解決OOP和過程化方法不能夠很好解決的橫切(crosscut)問題,如:事務、安全、日志等橫切關注。當未來系統變得越來越復雜,橫切關注點就成為一個打問題的時候,AOP就可以很輕松的解決橫切關注點這個問題,使得AOP編程成為。Spring 是基于J2EE的輕量級開源開發框架,其中Spring AOP組件實現了面向方面編程。

  AOP 概述

  面向方面編程 (AOP) 提供從另一個角度來考慮程序結構以完善面向對象編程(OOP)。 面向對象將應用程序分解成各個層次的對象,而AOP將程序分解成各個方面或者說關注點 。這使得可以模塊化諸如事務治理等這些橫切多個對象的關注點。

  1、AOP 基本概念

  方面(Aspect): 一個關注點的模塊化,這個關注點實現可能另外橫切多個對象。事務治理是J2EE應用中一個很好的橫切關注點例子。方面用Spring的 Advisor或攔截器實現。

  連接點(Joinpoint): 程序執行過程中明確的點,如方法的調 用或特定的異常被拋出。

  通知(Advice): 在特定的連接點,AOP框架執行的動作。各種類 型的通知包括“around”、“before”和“throws”通知。通知類型將在下面討論。許多AOP框架 包括Spring都是以攔截器做通知模型,維護一個“圍繞”連接點的攔截器鏈。

  切入點(Pointcut): 指定一個通知將被引發的一系列連接點 的集合。AOP框架必須答應開發者指定切入點:例如,使用正則表達式。

  引入(IntrodUCtion): 添加方法或字段到被通知的類。 Spring答應引入新的接口到任何被通知的對象。例如,你可以使用一個引入使任何對象實現 IsModified接口,來簡化緩存。

  目標對象(Target Object): 包含連接點的對象。也被稱作 被通知或被代理對象。

  AOP代理(AOP Proxy): AOP框架創建的對象,包含通知。 在Spring中,AOP代理可以是JDK動態代理或者CGLIB代理。

  織入(Weaving): 組裝方面來創建一個被通知對象。這可以在編譯時 完成(例如使用AspectJ編譯器),也可以在運行時完成。Spring和其他純Java AOP框架一樣, 在運行時完成織入。

  Spring AOP 介紹

  Spring的一個要害組件就是AOP框架。 Spring IoC容器(BeanFactory 和applicationContext)并不依靠于AOP, 這意味著假如你不需要使用,AOP可以不用,AOP完善了Spring IoC,使之成為一個有效的中間件解決方案。

  Spring AOP 是Spring 框架的重要組成部分,它實現了AOP聯盟約定的接口。Spring AOP 是由純Java開發完成的。Spring AOP 只實現了方法級別的連接點,在J2EE應用中,AOP攔截到方法級的操作已經足夠。OOP倡導的是基于setter/getter 的方法訪問,而非直接訪問域,而Spring 有足夠理由僅僅提供方法級的連接點。為了使控制反轉(IoC)很方便的使用到非常健壯、靈活的企業服務,則需要Spring AOP 的實現。Spring AOP 在運行時才創建Advice 對象。Spring AOP的優點如下:

  ·答應開發者使用聲明式企業服務,比如事務服務、安全性服務。

  ·開發者可以開發滿足業務需求的自定義方面。

  ·開發Spring AOP Advice 很方便,可以借助代理類快速搭建Spring AOP 應用。

  使用Spring AOP松散耦合

  1、創建通知

  為實現AOP,開發者需要開發AOP 通知(Advice)。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 双牌县| 穆棱市| 抚顺市| 柞水县| 轮台县| 金平| 辽阳县| 探索| 桦川县| 北碚区| 明光市| 旌德县| 益阳市| 陈巴尔虎旗| 板桥市| 元阳县| 白朗县| 腾冲县| 乐昌市| 贡觉县| 贵港市| 榆树市| 休宁县| 永州市| 竹溪县| 八宿县| 临高县| 苗栗市| 青神县| 东明县| 扶绥县| 蕲春县| 晋城| 托克逊县| 镇康县| 抚顺市| 五原县| 砀山县| 扎鲁特旗| 佛山市| 弋阳县|