當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
Spring的AOP理解
生活随笔
收集整理的這篇文章主要介紹了
Spring的AOP理解
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
OOP面向對象,允許開發者定義縱向的關系,但并不適用于定義橫向的關系,會導致大量代碼的重復,而不利于各個模塊的重用。
AOP,一般稱為面向切面,作為面向對象的一種補充,用于將那些與業務無關,但卻對多個對象產生影響的公共行為和邏輯,抽取并封裝為一個可重用的模塊,這個模塊被命名為“切面”(Aspect),減少系統中的重復代碼,降低了模塊間的耦合度,提高系統的可維護性??捎糜跈嘞拚J證、日志、事務處理。
AOP實現的關鍵在于 代理模式,AOP代理主要分為靜態代理和動態代理。靜態代理的代表為AspectJ;動態代理則以Spring AOP為代表。
(1)AspectJ是靜態代理,也稱為編譯時增強,AOP框架會在編譯階段生成AOP代理類,并將AspectJ(切面)織入到Java字節碼中,運行的時候就是增強之后的AOP對象。
(2)Spring AOP使用的動態代理,所謂的動態代理就是說AOP框架不會去修改字節碼,而是每次運行時在內存中臨時為方法生成一個AOP對象,這個AOP對象包含了目標對象的全部方法,并且在特定的切點做了增強處理,并回調原對象的方法。
?
總結
以上是生活随笔為你收集整理的Spring的AOP理解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Spring 的优点
- 下一篇: Spring AOP中的动态代理主要有两