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

歡迎訪問 生活随笔!

生活随笔

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

javascript

!Spring Aop中四个重要概念,切点,切面,连接点,通知

發布時間:2023/12/10 javascript 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 !Spring Aop中四个重要概念,切点,切面,连接点,通知 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、基本概念

1. 通知: 就是我們編寫的希望Aop時額外執行的那個方法。我們通過Aop希望我們編寫的方法在目標方法執行前執行,或者執行后執行。
2. 切點:切點就是我們配置的滿足我們條件的目標方法。比如我們規定:名字前面是select開頭的才執行我們自定義的通知方法。那么這些select開頭的方法就是切點。
3. 連接點:連接點可以說是切點的全集。切點是連接點的子集。也可以理解為,連接點是我們沒有定義那個select開頭規則時,滿足條件的全部方法。
4. 切面:切面是切點和通知的合稱,作為切點切面的統稱。?

二、概念說明

1、為什么要用AOP
1)就是為了方便,國外有一個很有名的大師曾經說過,編程的人都是“懶人”,因為他把自己做的事情都讓程序去做了。用了AOP能讓你少寫很多代碼,這點就夠充分了吧。
2)就是為了更清晰的結構,一方面AOP可以讓你的業務邏輯去關注業務本身,而不需要處理與業務不相關的事情。這些其他的事情是重復調用的,例如:安全,事物,日志等。另一方面,例如日志,在不同的地方實現的是同一套邏輯,這樣就可以抽取出來,作為一個通知,然后引入到各個模塊。
2、AOP術語詳解
初看這么多術語,一下子都不好接受,慢慢來,很快就會搞懂。

  • 通知、增強處理(Advice)?就是你抽取出來的通用功能,也就是上說的安全、事物、日志等。你給先定義好,然后在需要的地方引用。
  • 連接點(JoinPoint)?這個就更好解釋了,就是spring允許你引用通知(Advice)的地方,那可就真多了,基本每個方法的前、后以及前后都包括,或拋出異常時都可以是連接點,spring只支持方法連接點。其他如AspectJ還可以讓你將構造器、屬性注入作為連接點。不過那不是咱們關注的,只要記住,和方法有關的前前后后都是連接點,也就是可以引入通知的地方都是連接點。
  • 切入點(Pointcut)?上面說的連接點的基礎上,來定義切入點,你的一個類里,有15個方法,那就有十幾個連接點了對吧,但是你并不想在所有方法附近都使用通知(使用叫織入,下面再說),你只是想讓其中幾個,在調用這幾個方法之前、之后或者拋出異常時干點什么,那么就用切入點來定義這幾個方法,讓切點來篩選連接點,選中你想要引入通知的方法。
  • 切面(Aspect)?切面是通知和切入點的結合。現在發現了吧,沒連接點什么事,連接點就是為了讓你好理解切點搞出來的,明白這個概念就行了。通知說明了干什么和什么時候干(什么時候通過方法名中的befor,after,around等就能知道),二切入點說明了在哪干(指定到底是哪個方法),這就是一個完整的切面定義。
  • 引入(introduction)?允許我們向現有的類添加新方法屬性。這不就是把切面(也就是新方法屬性:通知定義的)用到目標類中嗎
  • 目標(target)?引入中所提到的目標類,也就是要被通知的對象,也就是真正的業務邏輯,他可以在毫不知情的情況下,被我們織入切面。二自己專注于業務本身的邏輯。
  • 代理(proxy)?怎么實現整套AOP機制的,都是通過代理,這個一會兒給細說。
  • 織入(weaving)?為了把切面應用到目標對象,而創建一個新的代理對象的過程。有三種方式,spring采用的是運行時,為什么是運行時,在上一文《Spring AOP開發漫談之初探AOP及AspectJ的用法》中第二個標提到。
  • 目標對象?– 項目原始的Java組件。
  • AOP代理??– 由AOP框架生成java對象。
  • AOP代理方法?= advice + 目標對象的方法。
  • 3、代碼演示:
    @Aspect //聲明切面,標記類
    public class Audience {
    ?
    @Pointcut("execution(* *.perform(..))") //定義切點,標記方法
    public void performance() {}
    ?
    @Before("performance()") ?//切點之前執行
    public .... ? ? ?
    ?
    @AfterReturning("performance()") ?//切點之后執行
    public ...
    ?
    @AfterThrowing("performance()") ?//切點拋出異常后執行
    public ...
    }

    <aop:config>
    <aop:aspect ref="audience"> ?//切面代碼Bean,標記類
    <aop:pointcut id="performance" expression="excution(* *.performance(..))" ?/> ? //定義切點,標記方法
    ?
    <aop:before ?method="..." ?pointcut-ref="performance" /> ?//前后通知babalalal
    <aop:after-returnning ?method="..." ?pointcut-ref="performance" />
    <aop:after-throwing ?method="..." ?pointcut-ref="performance" />
    ?
    </aop:aspect>
    </aop:config>

    ?

    總結

    以上是生活随笔為你收集整理的!Spring Aop中四个重要概念,切点,切面,连接点,通知的全部內容,希望文章能夠幫你解決所遇到的問題。

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

    主站蜘蛛池模板: 中文字幕精品一区二区精品 | 调教丰满的已婚少妇在线观看 | 日韩少妇一区 | 福利影院在线观看 | 亚洲天堂一级 | 黄色复仇草 | 五月天在线观看 | xxxx国产精品 | 99热在线观看免费精品 | 亚洲国产成人综合 | 亚洲精品乱码久久久久久蜜桃欧美 | 亚洲春色在线 | 久久社区视频 | 欧美一区二区三区久久妖精 | 一出一进一爽一粗一大视频 | 一个色综合网 | 午夜时刻免费入口 | 一区二区三区三区在线 | 99re免费视频 | 毛片网站大全 | 五月婷婷视频在线观看 | 涩涩网址| wwwxxx在线 | 久久亚洲AV成人无码国产人妖 | 最近中文字幕在线中文高清版 | 干综合网 | 亚洲在线电影 | 大又大又粗又硬又爽少妇毛片 | 91九色论坛 | 免费成人高清视频 | 久久综合久久久久 | 黄色录像一级大片 | 亚洲天堂黄色 | 最新久久久 | 蜜臀久久99精品久久久画质超高清 | 黄色一级小说 | 欧美放荡办公室videos4k | 99久在线精品99re8热 | 性少妇mdms丰满hdfilm | 国产妇女馒头高清泬20p多 | 东北毛片| 亚洲免费福利视频 | 国内偷拍一区二区 | 在线视频一区二区 | 天天综合在线视频 | 91尤物国产福利在线观看 | 动漫精品一区一码二码三码四码 | av电影在线播放 | 欧美人与牲动xxxx | 寂寞少妇让水电工爽hd | 天堂va在线 | 少妇自拍视频 | 在线播放亚洲精品 | 少妇高潮惨叫久久久久 | 在线观看免费国产视频 | 亚洲精品高潮久久久久久久 | av久久久久久| 久久午夜影视 | 日本在线不卡一区二区 | 久久天天躁狠狠躁夜夜躁2014 | 男人的天堂免费av | 午夜日韩电影 | 福利资源在线观看 | 欧美打屁股 | 精品国产乱码久久久久 | 国产精品我不卡 | www国产| av免费看网站 | 天天插av| 欧美久久免费 | 成都4电影免费高清 | 99热热久久| 黄色三级视频 | 中文字幕在线观看免费 | 国产精品久久久久久久天堂 | 一区二区三区www | 黑人玩弄人妻一区二区三区 | 青娱乐av在线 | 手机看片国产日韩 | 茄子香蕉视频 | 国产激情精品一区二区三区 | 久久国产精品一区 | 米奇狠狠干| 久久国产精品系列 | 欧美色影院 | 人成在线免费视频 | 法国空姐在线观看完整版 | 国产探花精品一区二区 | 最新国产精品视频 | 国产福利合集 | 91一区二区三区 | 国产人妻精品久久久久野外 | 一级黄色录像大片 | 91免费成人| 综合久久久久综合 | 国产69精品久久久久久久久久 | 久久久精品小视频 | 夜夜夜影院| 亚洲a中文字幕 |