影音先锋AⅤ天堂资源站,13小箩利洗澡无码视频APP,午夜理论片日本中文在线,最近新免费韩国日本电影

萬(wàn)能百科  > 游戲數(shù)碼?  > 

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

2022-02-23   

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

工具/材料

IntelliJ IDEA

操作方法

  • 01

    首先我們打開IntelliJ IDEA開發(fā)工具,在菜單欄點(diǎn)擊File-->Settings-->Plungins,進(jìn)入到插件管理的頁(yè)面。接下來(lái)我們?cè)谟覀?cè)的搜索框輸入Aspect查詢,下圖在輸入到Asp時(shí)便會(huì)模糊查詢出結(jié)果,我們將AspectJ Support和Spring AOP/@AspectJ后面的方框勾選上即可。

  • 02

    接下來(lái)我們按住Ctrl+Shift+Alt+S,或者點(diǎn)擊下圖中所示的圖標(biāo)進(jìn)入到Project Structure頁(yè)面,點(diǎn)擊Project Settings下方的Libraries,然后點(diǎn)擊"+"號(hào),最后選擇Java,在接下來(lái)彈出的頁(yè)面中選擇aspectjrt.jar這個(gè)jar包。

  • 03

    接下來(lái)再回到Project Structure下方的Libraries設(shè)置,選擇需要應(yīng)用AspectJ的工程,然后點(diǎn)擊“OK”按鈕即可。

  • 04

    接下來(lái)進(jìn)入到真正使用的部分了,我們首先創(chuàng)建一個(gè)Aspect切面,類似于創(chuàng)建一個(gè)類。在IntelliJ IDEA的菜單中點(diǎn)擊“New”,新建一個(gè)Aspect。我們給這個(gè)切面取個(gè)名字MyAspectJ,注意下方的kind類別是Aspect,這里生成的aspectJ文件是.aj后綴的,而不是.class后綴的,這一點(diǎn)希望大家注意。

  • 05

    生成的aspectJ文件是.aj后綴的,所以原來(lái)的編譯工具javac便不能使用了,因此我們需要修改編譯工具。菜單欄點(diǎn)擊File-->Settings-->搜索Compile,結(jié)構(gòu)為Build,Execution,Deployment-->Compiler-->Java Compiler。我們右側(cè)將Use Compiler修改為Ajc,在Path to Ajc compiler中選擇安裝目錄下的aspectjtools.jar。

  • 06

    以上編譯工具也設(shè)置完了,我們開始編寫代碼了。首先我們寫一個(gè)入門的HelloWorld類,該類中有一個(gè)需要被AspectJ切面攔截的方法sayHello(),還有一個(gè)main方法用于執(zhí)行程序。

  • 07

    然后我們?cè)偻晟粕厦鎰?chuàng)建的MyAspectJ,創(chuàng)建pointcut切點(diǎn),注意該寫法是aspectJ特有的語(yǔ)法。pointcut表示定義的是一個(gè)切點(diǎn),logPointCut()是切點(diǎn)的名字,call()里面是需要攔截的,* 標(biāo)識(shí)返回值是任意類型,然后是類名.方法名(),..表示任意類型的參數(shù)。我們定義before()和after()這兩個(gè)前置和后置攔截,分別用于在別攔截方法的前后執(zhí)行。

  • 08

    最后在HelloWorld類執(zhí)行main方法啟動(dòng)程序,我們看一下執(zhí)行的結(jié)果,可以看到在sayHello()方法的執(zhí)行前后分別執(zhí)行了攔截。

特別提示

.aj后綴的文件必須要使用Ajc的編譯器,javac不可以編譯。

詞條內(nèi)容僅供參考,如果您需要解決具體問(wèn)題
(尤其在法律、醫(yī)學(xué)等領(lǐng)域),建議您咨詢相關(guān)領(lǐng)域?qū)I(yè)人士。

標(biāo)簽

<蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <文本链> <文本链> <文本链> <文本链> <文本链> <文本链>