• <noscript id="ecgc0"><kbd id="ecgc0"></kbd></noscript>
    <menu id="ecgc0"></menu>
  • <tt id="ecgc0"></tt>

    IntelliJ IDEA中AspectJ插件的安裝及使用

    AspectJ是AOP的一種實現技術,IntelliJ IDEA是一款集成開發工具。在使用IntelliJ IDEA編寫AspectJ代碼之前需要本機先安裝AspectJ,具體的安裝步驟可以參考小編的其他文章。AspectJ的功能類似于攔截器,這是一種切面技術,我們可以使用AspectJ切入滿足切點規則的所有方法,并在方法的執行前后加一些通用的處理,下面跟著小編一起去學習吧。

    東西/材料

    IntelliJ IDEA

    操作方式

    • 01

      起首我們打開IntelliJ IDEA開辟東西,在菜單欄點擊File-->Settings-->Plungins,進入到插件辦理的頁面。接下來我們在右側的搜刮框輸入Aspect查詢,下圖在輸入到Asp時便會恍惚查詢出成果,我們將AspectJ Support和Spring AOP/@AspectJ后面的方框勾選上即可。

    • 02

      接下來我們按住Ctrl+Shift+Alt+S,或者點擊下圖中所示的圖標進入到Project Structure頁面,點擊Project Settings下方的Libraries,然后點擊"+"號,最后選擇Java,在接下來彈出的頁面中選擇aspectjrt.jar這個jar包。

    • 03

      接下來再回到Project Structure下方的Libraries設置,選擇需要應用AspectJ的工程,然后點擊“OK”按鈕即可。

    • 04

      接下來進入到真正利用的部門了,我們起首建立一個Aspect切面,近似于建立一個類。在IntelliJ IDEA的菜單中點擊“New”,新建一個Aspect。我們給這個切面取個名字MyAspectJ,注重下方的kind類別是Aspect,這里生當作的aspectJ文件是.aj后綴的,而不是.class后綴的,這一點但愿大師注重。

    • 05

      生當作的aspectJ文件是.aj后綴的,所以本來的編譯東西javac便不克不及利用了,是以我們需要點竄編譯東西。菜單欄點擊File-->Settings-->搜刮Compile,布局為Build,Execution,Deployment-->Compiler-->Java Compiler。我們右側將Use Compiler點竄為Ajc,在Path to Ajc compiler中選擇安裝目次下的aspectjtools.jar。

    • 06

      以上編譯東西也設置完了,我們起頭編寫代碼了。起首我們寫一個入門的HelloWorld類,該類中有一個需要被AspectJ切面阻擋的方式sayHello(),還有一個main方式用于執行法式。

    • 07

      然后我們再完美上面建立的MyAspectJ,建立pointcut切點,注重該寫法是aspectJ特有的語法。pointcut暗示界說的是一個切點,logPointCut()是切點的名字,call()里面是需要阻擋的,* 標識返回值是肆意類型,然后是類名.方式名(),..暗示肆意類型的參數。我們界說before()和after()這兩個前置和后置阻擋,別離用于在別阻擋方式的前后執行。

    • 08

      最后在HelloWorld類執行main方式啟動法式,我們看一下執行的成果,可以看到在sayHello()方式的執行前后別離執行了阻擋。

    • End

    出格提醒

    .aj后綴的文件必需要利用Ajc的編譯器,javac不成以編譯。

    • 發表于 2018-05-28 00:00
    • 閱讀 ( 1313 )
    • 分類:電腦網絡

    你可能感興趣的文章

    相關問題

    0 條評論

    請先 登錄 后評論
    admin
    admin

    0 篇文章

    作家榜 ?

    1. xiaonan123 189 文章
    2. 湯依妹兒 97 文章
    3. luogf229 46 文章
    4. jy02406749 45 文章
    5. 小凡 34 文章
    6. Daisy萌 32 文章
    7. 我的QQ3117863681 24 文章
    8. 華志健 23 文章

    聯系我們:uytrv@hotmail.com 問答工具
  • <noscript id="ecgc0"><kbd id="ecgc0"></kbd></noscript>
    <menu id="ecgc0"></menu>
  • <tt id="ecgc0"></tt>
    久久久久精品国产麻豆