IntelliJ IDEA
起首我們打開IntelliJ IDEA開辟東西,在菜單欄點擊File-->Settings-->Plungins,進入到插件辦理的頁面。接下來我們在右側的搜刮框輸入Aspect查詢,下圖在輸入到Asp時便會恍惚查詢出成果,我們將AspectJ Support和Spring AOP/@AspectJ后面的方框勾選上即可。
接下來我們按住Ctrl+Shift+Alt+S,或者點擊下圖中所示的圖標進入到Project Structure頁面,點擊Project Settings下方的Libraries,然后點擊"+"號,最后選擇Java,在接下來彈出的頁面中選擇aspectjrt.jar這個jar包。
接下來再回到Project Structure下方的Libraries設置,選擇需要應用AspectJ的工程,然后點擊“OK”按鈕即可。
接下來進入到真正利用的部門了,我們起首建立一個Aspect切面,近似于建立一個類。在IntelliJ IDEA的菜單中點擊“New”,新建一個Aspect。我們給這個切面取個名字MyAspectJ,注重下方的kind類別是Aspect,這里生當作的aspectJ文件是.aj后綴的,而不是.class后綴的,這一點但愿大師注重。
生當作的aspectJ文件是.aj后綴的,所以本來的編譯東西javac便不克不及利用了,是以我們需要點竄編譯東西。菜單欄點擊File-->Settings-->搜刮Compile,布局為Build,Execution,Deployment-->Compiler-->Java Compiler。我們右側將Use Compiler點竄為Ajc,在Path to Ajc compiler中選擇安裝目次下的aspectjtools.jar。
以上編譯東西也設置完了,我們起頭編寫代碼了。起首我們寫一個入門的HelloWorld類,該類中有一個需要被AspectJ切面阻擋的方式sayHello(),還有一個main方式用于執行法式。
然后我們再完美上面建立的MyAspectJ,建立pointcut切點,注重該寫法是aspectJ特有的語法。pointcut暗示界說的是一個切點,logPointCut()是切點的名字,call()里面是需要阻擋的,* 標識返回值是肆意類型,然后是類名.方式名(),..暗示肆意類型的參數。我們界說before()和after()這兩個前置和后置阻擋,別離用于在別阻擋方式的前后執行。
最后在HelloWorld類執行main方式啟動法式,我們看一下執行的成果,可以看到在sayHello()方式的執行前后別離執行了阻擋。
.aj后綴的文件必需要利用Ajc的編譯器,javac不成以編譯。
0 篇文章
如果覺得我的文章對您有用,請隨意打賞。你的支持將鼓勵我繼續創作!