日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

动态代理——》AOP —— Spring 中的 AOP||AOP 相关术语||学习 spring 中的 AOP 要明确的事

發布時間:2025/4/16 javascript 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 动态代理——》AOP —— Spring 中的 AOP||AOP 相关术语||学习 spring 中的 AOP 要明确的事 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

AOP 概述


什么是 AOP? ? ? ?AOP:全稱是 Aspect Oriented Programming 即:面向切面編程


AOP 的作用及優勢

作用:

在程序運行期間,不修改源碼對已有方法進行增強。

優勢:

減少重復代碼

提高開發效率

維護方便


AOP 的實現方式??使用動態代理技術


動態代理的特點 字節碼隨用隨創建,隨用隨加載。


動態代理常用的有兩種方式

提供者:JDK 官方的 Proxy 類。

要求:被代理類最少實現一個接口。

基于子類的動態代理

提供者:第三方的 CGLib,如果報 asmxxxx 異常,需要導入 asm.jar

要求:被代理類不能用 final 修飾的類(最終類)。



Spring 中的 AOP

AOP 相關術語

Joinpoint(連接點): 所謂連接點是指那些被攔截到的點.在spring,這些點指的是方法,因為spring 只支持方法類型的連接點。

Pointcut(切入點): 所謂切入點是指我們要對哪些 Joinpoint 進行攔截的定義。

Advice(通知/增強): 所謂通知是指攔截到 Joinpoint 之后所要做的事情就是通知。

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?通知的類型:前置通知,后置通知,異常通知,最終通知,環繞通知。

Introduction(引介): 引介是一種特殊的通知在不修改類代碼的前提下,

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?Introduction 可以在運行期為類動態地添加一些方 法或 Field

Target(目標對象): 代理的目標對象。

Weaving(織入): 是指把增強應用到目標對象來創建新的代理對象的過程。

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?spring 采用動態代理織入,而 AspectJ 采用編譯期織入和類裝載期織入。

Proxy(代理): 一個類被 AOP 織入增強后,就產生一個結果代理類。

Aspect(切面): 是切入點和通知(引介)的結合



學習 spring 中的 AOP 要明確的事

a、開發階段(我們做的)

編寫核心業務代碼(開發主線):大部分程序員來做,要求熟悉業務需求。

把公用代碼抽取出來,制作成通知。(開發階段最后再做):AOP 編程人員來做。

在配置文件中,聲明切入點與通知間的關系,即切面。:AOP 編程人員來做。

b、運行階段(Spring 框架完成的)

Spring 框架監控切入點方法的執行

一旦監控到切入點方法被運行,使用代理機制,動態創建目標對象的代理對象,

根據通知類別,在代理對象的對應位置,將通知對應的功能織入,完成完整的代碼邏輯運行。

總結

以上是生活随笔為你收集整理的动态代理——》AOP —— Spring 中的 AOP||AOP 相关术语||学习 spring 中的 AOP 要明确的事的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。