在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

AOP要怎么使用

科技綠洲 ? 來源:Java技術指北 ? 作者:Java技術指北 ? 2023-10-09 16:18 ? 次閱讀

AOP(Aspect-Oriented Programming)經常會出現在面試過程中,AOP到底有沒有用,要怎么使用呢。本篇來一起撥開迷霧!

1 第一個AOP示例

我們會一次將所有的通知類型都覆蓋到,創建一個切面Advisor,并且將切點都綁定到一個自定義注解上面。

引入AOP的Starts:

< dependency >
    < groupId >org.springframework.boot< /groupId >
    < artifactId >spring-boot-starter-aop< /artifactId >
< /dependency >

自定義注解AOPTest:

@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface AOPTest {
}

TestAspect類:

圖片

在方法上標識注解

圖片

2 AOP的通知類型

圖片

AOP的5種通知類型。

  1. @Around 環繞通知,環繞切點的通知,比如在方法執行前后。
  2. @Before 前置通知,切點之前執行,但是不會阻止切點方法的執行,除非拋出異常。
  3. @After 后置通知, 切點方法跳出的時候執行。(不管是否拋出異常都會執行)。
  4. @AfterReturning 返回后通知,切點方法正常完成后執行
  5. @AfterThrowing 異常通知, 方法拋出異常的時候執行。

3 AOP通知的執行順序

關于執行順序,我們跑一邊測試如下:

有異常拋出的情況下,執行順序:

圖片

正常執行順序:

圖片

小結一下執行順序:

Around > Before > AfterReturning/AfterThrowing > After > Around

4 切點表達式都有哪些

開始的示例中使用了自定義注解來寫切點表達式。

@Pointcut(value = "@annotation(AOPTest)")
public void pointcut() {
}

目前SpringAOP 支持的切點表達式書寫關鍵字有這些 execution,within,this,target,args,@target,@args,@within,@annotation

除了上述的Spring支持的寫法之外,AspectJ 還有許多切點表達式書寫方式Spring并未支持,后期應該會看情況添加一些。

5 組合切點

我們可以使用 &&,||, ! 等合并切點表達式,篩選出我們想要的切點。Spring官方的例子如下:

@Pointcut("execution(public * *(..))")
    private void anyPublicOperation() {}

    @Pointcut("within(com.xyz.myapp.trading..*)")
    private void inTrading() {}

    @Pointcut("anyPublicOperation() && inTrading()")
    private void tradingOperation() {}
  • anyPublicOperation是第一個切點表達式。
  • inTrading 是第二個,表示trading包下面的左右方法。
  • 第三個切點表達式使用&& 符號,取前兩個切點的交集 ”anyPublicOperation() && inTrading()“
    表示trading包下面的所有public的方法。

總結

本片給出了SpringAOP在SpringBoot中的示例,并且分析了各種通知類型的執行時機。并介紹了組合切點表達式的一些用法,以后項目中如果使用到AOP相關的知識我們就可以直接上手啦。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 自定義
    +關注

    關注

    0

    文章

    12

    瀏覽量

    8726
  • spring
    +關注

    關注

    0

    文章

    340

    瀏覽量

    14392
  • AOP
    AOP
    +關注

    關注

    0

    文章

    40

    瀏覽量

    11123
  • ADVISOR
    +關注

    關注

    0

    文章

    5

    瀏覽量

    7671
收藏 人收藏

    評論

    相關推薦

    AOP知識詳解

    今天我們繼續看看AOP相關的知識,前面說到了Javassit,Spring AOP,通過該篇,讓你對AOP有更完整的認識。 AOP 再看AOP
    的頭像 發表于 09-25 11:14 ?1026次閱讀
    <b class='flag-5'>AOP</b>知識詳解

    Spring AOP如何破解java應用

    前面我們看過javaassit是如何破解java應用,核心都是AOP相關的知識,今天我們看下Spring AOP是怎么回事! Spring-AOP spring 5.x版本 AOP面向
    的頭像 發表于 09-25 11:16 ?935次閱讀
    Spring <b class='flag-5'>AOP</b>如何破解java應用

    單片機EM88F711N產生不了燒錄器的AOP2文檔

    義隆單片機EM88F711N芯片,在義隆官方網站下載的eUIDEII_v2.19.60.21軟件上編譯通過,編譯成功產生不了燒錄器的AOP2文檔,是什么原因產生不了AOP2文檔,那個老大知道是不是請告知以下。
    發表于 10-28 15:07

    具有AoP技術的雷達傳感器

    傳感器封裝天線 (AoP) 技術消除了對高頻基板材料的需求,并降低了成本、制造復雜性和大概30%的布板空間。TI的AoP技術利用倒裝芯片封裝技術將天線放置在無塑封基板上,防止因天線穿過塑封材料時產生損耗
    發表于 11-04 06:32

    個體與群體思維狀態下的AOP語言

    引入群體思維狀態對GOAL進行改進,建立了個體與群體思維狀態下的AOP語言IG-AOP,給出其語法和操作語義。舉例證明該語言的表達力比GOAL強,可以較好地滿足多Agent合作求解過程的刻
    發表于 04-16 10:17 ?11次下載

    AOP中使用標注改進日志功能的實現

    面向方面編程(AOP)可避免橫切關注點對核心代碼的不良影響,但AOP 中的方法簽名匹配模式難以精確表達系統中的橫切點,使得在大中型系統中直接使用連接點匹配方式捕獲某些橫
    發表于 04-17 09:01 ?25次下載

    AOP及其在數字檔案館系統中的應用

    面向切面編程(AOP,Aspect-Oriented Programming)是面向對象編程的一種擴展技術,能很好的解決橫切關注點問題和相關設計難題。首先,介紹了AOP的發展現狀及其基本概念。其次結合數字檔案館
    發表于 03-01 16:04 ?10次下載

    基于反射機制的AOP模型的研究_張波

    基于反射機制的AOP模型的研究_張波
    發表于 03-17 15:47 ?0次下載

    基于AOP的科研申報系統的設計與實現

    也帶來困難。針對上述問題,本論文使用面向方面編程(AOP)的思想來解決,利用AOP中的方面(Aspect)來對非功能屬性進行建模,并采用UML中的類圖進行描述,并給出其在科研申報系統中權限控制模塊的實現,驗證了面向方面編程在解決
    發表于 11-11 17:44 ?8次下載
    基于<b class='flag-5'>AOP</b>的科研申報系統的設計與實現

    AoP技術如何改善外部近場感應應用

    AWR1843AOP 具有多模可編程數字信號處理器,允許您為多個應用重新配置相同傳感器。
    發表于 10-19 09:05 ?457次閱讀

    AWR6843AOP 單芯片60GHz至64GHz毫米波傳感器封裝天線 (AOP) 數據表

    電子發燒友網站提供《AWR6843AOP 單芯片60GHz至64GHz毫米波傳感器封裝天線 (AOP) 數據表.pdf》資料免費下載
    發表于 08-13 10:16 ?2次下載
    AWR6843<b class='flag-5'>AOP</b> 單芯片60GHz至64GHz毫米波傳感器封裝天線 (<b class='flag-5'>AOP</b>) 數據表

    IWR6843AOP單芯片60GHz至64GHz毫米波傳感器封裝天線(AOP)數據表

    電子發燒友網站提供《IWR6843AOP單芯片60GHz至64GHz毫米波傳感器封裝天線(AOP)數據表.pdf》資料免費下載
    發表于 08-14 11:44 ?1次下載
    IWR6843<b class='flag-5'>AOP</b>單芯片60GHz至64GHz毫米波傳感器封裝天線(<b class='flag-5'>AOP</b>)數據表

    AWR1843AOP單芯片77GHz和79GHz FMCW毫米波傳感器天線封裝(AOP)數據表

    電子發燒友網站提供《AWR1843AOP單芯片77GHz和79GHz FMCW毫米波傳感器天線封裝(AOP)數據表.pdf》資料免費下載
    發表于 08-15 10:42 ?0次下載
    AWR1843<b class='flag-5'>AOP</b>單芯片77GHz和79GHz FMCW毫米波傳感器天線封裝(<b class='flag-5'>AOP</b>)數據表

    IWR1843AOP單芯片77GHz和79GHz FMCW毫米波傳感器天線封裝(AOP)數據表

    電子發燒友網站提供《IWR1843AOP單芯片77GHz和79GHz FMCW毫米波傳感器天線封裝(AOP)數據表.pdf》資料免費下載
    發表于 08-15 11:20 ?1次下載
    IWR1843<b class='flag-5'>AOP</b>單芯片77GHz和79GHz FMCW毫米波傳感器天線封裝(<b class='flag-5'>AOP</b>)數據表

    基于機器學習的IWR6843AOP跌倒和姿態檢測實現

    電子發燒友網站提供《基于機器學習的IWR6843AOP跌倒和姿態檢測實現.pdf》資料免費下載
    發表于 09-03 10:02 ?1次下載
    基于機器學習的IWR6843<b class='flag-5'>AOP</b>跌倒和姿態檢測實現
    主站蜘蛛池模板: 在线观看国产精美视频 | 视频一区二区不卡 | 香蕉视频黄色片 | 国产一级一级片 | 三级成人网 | 在线免费视频网站 | 日本媚薬痉挛在线观看免费 | 亚洲性人人天天夜夜摸 | 99精品免费视频 | 国产人免费人成免费视频 | 黄色大秀 | 欧美xxxx性高清 | 色视频网站色视频播放 | 天天摸夜夜摸爽爽狠狠婷婷97 | 天堂成人在线观看 | 色狠狠色综合久久8狠狠色 色狠狠网 | 亚洲免费视频观看 | 九七婷婷狠狠成人免费视频 | 国产高清亚洲 | 亚洲色图21p | 在线视频观看一区 | 黄色免费网站在线 | 大片毛片女女女女女女女 | 久久国产精品网 | 日韩免费高清一级毛片 | 一级毛片免费毛片一级毛片免费 | 五月激情综合婷婷 | 伊人久久亚洲综合 | 国产精品va一区二区三区 | 国产乱理论片在线观看理论 | 爱爱免费视频 | tdg58在线观看 | 888午夜不卡理论久久 | 99免费观看视频 | 欧洲乱码专区一区二区三区四区 | 久久免费看视频 | 午夜一区二区免费视频 | 六月婷婷综合激情 | 国模私拍一区二区三区 | 永久黄网站色视频免费观看 | 欧美ggg666|