亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

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

Spring框架與AOP思想的研究與應用

2019-11-18 11:17:16
字體:
來源:轉載
供稿:網友
摘要 本文對SPRing框架中所包含的AOP思想以及事務治理進行了分析,并通過對一個業務對象實現加鎖/解鎖的操作,說明了動態代理模式的可行性與有效性。

  要害詞 AOP;橫切關注點;控制反轉;動態代理

  引言

  aspect Oriented Programming(AOP)是近年來計算機技術中比較熱門的話題之一。其發展歷史從學術領域和研發機構的運用開始,目前流行的Spring應用程序框架將AOP思想融入了整個框架的設計開發與應用當中。使用Spring框架固然給我們的編程帶來了好處與便利,但是同時存在著一個問題,對于初學者來說,所謂的“控制反轉”,不是一個能夠望文生義的好名稱,“依靠注入”也是一樣,也正是因為這樣,不少初學者很難在短時間內理解和把握這些名字和他們的用法,而要使用AOP的功能也需要理解AOP,也比較難?;谝陨显?,我們就會想到,能否簡單地將Spring框架中運用到的優秀的理念,巧妙的運用到我們需要使用的地方,而又繞過不輕易上手的Spring框架,做到一舉兩得呢?本文就將圍繞著上述提出的問題給出作者的看法和觀點。

  AOP思想與面向方面的編程

  AOP實際是GoF四人組設計模式的一種擴展,設計模式所追求的是降低代碼之間的耦合度,增加程序的靈活性和可重用性,AOP實際上就是設計模式所追求的目標的一種實現。所謂的分離關注就是將某一通用的需求功能從不相關的類之中分離出來;同時,能夠使得很多類共享一個行為,一旦行為發生變化,不必修改很多類,只要修改這個行為就可以。AOP就是這種實現分散關注的編程方法,它將“關注”封裝在“方面”中。

  面向對象的編程(OOP)方法是在面向過程的編程方法基礎上進行的改進,而面向方面編程(AOP)方法又是在面向對象編程(OOP)方法的基礎上進行改進而來的一種創新的軟件開發方法。AOP和OOP雖然在字面上十分相似,但是卻是面向不同領域的兩種設計思想。OOP(面向對象編程)針對問題領域中以及業務處理過程中存在的實體及其屬性和操作進行抽象和封裝,面向對象的核心概念是縱向結構的,其目的是獲得更加清楚高效的邏輯單元劃分;而AOP則是針對業務處理過程中的切面進行提取,例如,某一個操作在各個模塊中都有涉及,這個操作就可以看成“橫切”存在于系統當中。在許多情況下,這些操作都是與業務邏輯相關性不強或者不屬于邏輯操作的必須部分,而面向對象的方法很難對這種情況做出處理。AOP則將這些操作與業務邏輯分離,使程序員在編寫程序時可以專注于業務邏輯的處理,而利用AOP將貫穿于各個模塊間的橫切關注點自動耦合進來。AOP所面對的是處理過程中的某個步驟或階段,對不同的階段領域加以隔離,已獲得邏輯過程中各部分之間低耦合性的隔離效果,其與面向方面編程在目標上有著本質的差異。AOP的核心思想就是將應用程序中的業務邏輯處理部分同對其提供支持的通用服務,即所謂的“橫切關注點”進行分離,這些“橫切關注點”貫穿了程序中的多個縱向模塊的需求。

  使用AOP機制進行開發,首先要對方面進行了解,將需求分解成一般關注點和橫切關注點,即將核心模塊級的關注點和系統級的橫切關注點分離;然后各自獨立的實現這些關注點;最后用工具將業務邏輯代碼和橫切關注點代碼編織到一起,形成最終的程序。通過面向方面的編程可以減少編碼時間和重復。

  目前已經形成的Spring框架

  1、Spring框架的特點

  Spring框架目前如此流行,一方面的原因在于Spring提供了一套全面并且十分成熟的輕型應用程序基本框架,并且對復雜的應用開發提供了有力的支持。除此之外,從實際應用開發角度來看,Spring最大的優勢在于它是從實際項目開發經驗中抽取的,其提供了豐富的類庫,可大大節省編碼量,它是一種高效的、可高度重用的應用框架。Spring框架中目前最吸引人也是該應用框架最具特色的地方就是名為控制反轉(IOC=Inverse Of Control)或者依靠注入(DI=Dependence Injection)的設計思想,這是一種相當優秀的設計思想,即“好萊塢”原則:不用你主動來找我,我會通知你。但是,僅僅憑借著這樣一個單純的設計模式并不能使得Spring如此成功,Spring最成功的地方,還是目前使用最為廣泛的AOP應用,也就是Spring中基于AOP實現的業務治理機制,也正是由于這一點,使得Spring AOP成為應用框架中極其閃光的一個亮點。

  2、AOP思想在Spring框架中的體現

  文章前面已經講述了AOP的概念以及什么叫做所謂的“橫切”關注點,事務治理就是J2EE應用中一個橫切多個對象的橫切關注點的例子。

  2.1 事務治理

  對于J2EE應用程序而言,事務的處理一般有兩種模式:依靠特定事務資源的事務處理與依靠容器的參數化事務治理。在這里我們略去對第一種處理方式的說明,直接對第二種方式,即依靠容器的參數化事務治理來闡述筆者的觀點。

  Spring事務治理究竟能帶給我們什么?

  了解Spring的人們都知道,對于傳統的基于事務資源的事務處理而言,Spring并不會產生什么影響,我們照樣可以成功編寫并且運行這樣的代碼。

  對于依靠容器的參數化事務治理而言,Spring則可以用來幫助實現對事務的治理而無須使用EJB。Spring本身也是一個容器,只是相對EJB容器所要付出的代價而言,Spring屬于輕量級容器,它能夠替代EJB,通過使用AOP來提供聲明式事務治理,即可通過Spring實現基于容器的事務治理(從本質上來講,Spring的事務治理是基于動態AOP)。Spring與EJB最大的區別在于:第一,Spring可以為任意的java Class實現事務治理而無須轉換成標準的EJB;第二,Spring事務治理并不依靠特定的事務資源從而使得系統的應用與部署更佳靈活。

  2.2動態代理機制的實現

  Spring框架中所提供的AOP支持,是基于動態AOP機制實現的,即通過動態Proxy模式,在目標對象的方法調用前后插入相應的處理代碼。AOP代理可以是基于JDK動態代理,也可以是基于CGLIB代理。Spring默認使用的是基于Java Dynamic Proxy模式實現,這樣任何的接口都能被代理?;赟pirng框架的應用程序開發,程序員會有一種自然的傾向性來實現面向接口編程而不是類,業務對象通常也是實現一個或者多個接口,這也是一種良好的編程習慣。Spring也可以基于CGLIB實現AOP代理,這樣所代理的是類而不是接口。假如一個業務對象沒有實現某一個接口,那么CGLIB將被使用。

  我們先來分析一下Spring事務治理機制的實現原理。由于Spring內置AOP默認使用動態代理模式實現,我們就先來分析一下動態代理模式的實現方法。動態代理模式的核心就在于代碼中不出現與具體應用層相關聯的接口或者類引用,如上所說,這個代理類適用于任何接口的實現。下面我們來看一個例子。 public class TxHandler implements InvocationHandler {



發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
青青草精品毛片| 78色国产精品| 欧美午夜丰满在线18影院| 91精品久久久久久| 在线观看欧美视频| 亚洲第一天堂av| 亚洲香蕉成视频在线观看| 日韩在线精品一区| 国产免费一区二区三区香蕉精| 日本韩国欧美精品大片卡二| 精品亚洲国产视频| 欧美性视频网站| 在线视频亚洲欧美| 日韩av电影国产| 欧美在线视频一区| 成人黄色片网站| 久久99热精品这里久久精品| 亚洲第一区中文字幕| 精品国偷自产在线视频99| 中文字幕在线国产精品| 国产精品视频区1| 欧美国产日韩xxxxx| 亚洲无亚洲人成网站77777| 久久影院模特热| 国产精品99久久久久久白浆小说| 欧美性高潮床叫视频| 欧美性猛交xxxx久久久| 欧美激情精品久久久久久黑人| 欧美在线视频免费播放| 日韩精品中文在线观看| 精品一区二区亚洲| 亚洲第一区第二区| 国产一区二区香蕉| 色爱av美腿丝袜综合粉嫩av| 精品久久久国产精品999| 日韩欧美主播在线| 国产欧美在线播放| 国产精品夜色7777狼人| 国产精品久久久久久五月尺| 91精品国产色综合久久不卡98口| 亚洲激情在线视频| 国产欧美va欧美va香蕉在线| 色七七影院综合| 久久精品视频在线播放| 国产一区欧美二区三区| 午夜精品视频网站| 亚洲成av人乱码色午夜| 日韩欧中文字幕| 亚洲精品国产综合区久久久久久久| 日韩欧美在线观看视频| 国产激情久久久久| 国产日本欧美一区二区三区在线| 日韩免费在线视频| 中文字幕久热精品视频在线| 97视频在线观看免费高清完整版在线观看| 日韩精品中文字幕在线观看| 亚洲第一av网站| 国产欧美中文字幕| 欧美日韩精品中文字幕| 亚洲国产精品久久久久| 欧美高清在线观看| 久久久久久九九九| 色琪琪综合男人的天堂aⅴ视频| 久久精品影视伊人网| 亚洲综合日韩中文字幕v在线| 亚洲精品一二区| 91中文字幕一区| 精品国产乱码久久久久久天美| 久久久综合免费视频| 成人激情视频网| 日韩av综合网| 97婷婷涩涩精品一区| 久久视频免费在线播放| 亚洲丝袜一区在线| 亚洲成年人在线| 91精品在线播放| 九九视频这里只有精品| 中文字幕亚洲综合久久筱田步美| 亚洲欧美国产精品专区久久| 国产欧美中文字幕| 精品久久久久久久久久久久久久| 4388成人网| 国产精品久久久久久久久久东京| 亚洲欧美一区二区三区久久| 国产精品美腿一区在线看| 亚洲免费视频一区二区| 欧美黑人xxxⅹ高潮交| 国产原创欧美精品| 国产在线拍偷自揄拍精品| 97在线看免费观看视频在线观看| 日韩中文在线视频| 亚洲专区中文字幕| 日韩av网站大全| 欧美精品成人在线| 狠狠色狠狠色综合日日五| 成人妇女淫片aaaa视频| 1769国内精品视频在线播放| 日本韩国在线不卡| 精品色蜜蜜精品视频在线观看| 国产日韩专区在线| 亚洲美女视频网| 成人精品网站在线观看| 91干在线观看| 国产欧美精品日韩精品| 九九热精品视频| 日韩中文字幕视频在线观看| 深夜成人在线观看| 在线视频欧美日韩精品| 国产精品美女午夜av| 在线亚洲国产精品网| 亚洲欧洲第一视频| 1769国产精品| 91久久中文字幕| 亚洲人成77777在线观看网| 91国内精品久久| 国产精品视频公开费视频| 2019中文字幕免费视频| 精品久久久一区二区| 日韩av最新在线观看| 国产精品激情av在线播放| 国产精品对白刺激| 91精品国产自产在线老师啪| 日韩中文字幕在线| 永久免费看mv网站入口亚洲| 亚洲欧美一区二区精品久久久| 性欧美视频videos6一9| 欧美激情在线观看| 国产精品综合网站| 国产精品日韩专区| 成人在线精品视频| 日韩av免费在线| 69精品小视频| 91超碰中文字幕久久精品| 97在线视频免费播放| 中文精品99久久国产香蕉| 亚洲成人网久久久| 欧美一区二区.| 国产精品国产福利国产秒拍| 欧美午夜激情在线| 欧美视频在线观看 亚洲欧| 亚洲电影成人av99爱色| 欧美激情国产精品| 国产精品久久精品| 永久555www成人免费| 国产精品一区av| 久久精品99久久久久久久久| 欧美日韩国产色视频| 国产色婷婷国产综合在线理论片a| 久久夜色精品国产欧美乱| 国产精品免费视频久久久| 国产精品久久久久久久9999| 日韩欧美亚洲国产一区| 成人激情视频在线播放| 欧美亚洲另类激情另类| 久久av红桃一区二区小说| 国产精品视频免费在线| 亚洲国产天堂久久国产91| 亚洲精品福利在线| 91av在线播放| 成人福利网站在线观看| 亚洲成人激情在线观看| 国产丝袜一区二区三区| 麻豆一区二区在线观看| 亚洲第一福利视频|