Aspectj是一種面向切面的框架知给,用它可以實(shí)現(xiàn)面向切面編程您市。在eclipse如果要使用Aspectj需要安裝ADJT插件案怯,安裝方法如下
-
下載安裝包则拷,下載地址
下載最新的ADJT玖喘,此處以2.2.3.為例 在eclipse中安裝
點(diǎn)擊【Install New SoftWare】
點(diǎn)擊【Add】按鈕->選擇【Archive】->選擇剛剛下載好的壓縮包
選擇AspectJ Development Tools(Required)
之后稍等片刻甩牺,喝點(diǎn)水....
之后就按照正常的來(lái)安裝好啦,我這邊已經(jīng)安裝了就不能安裝了
- 寫一個(gè)小Demo
首先寫一個(gè)普通的類Login
package com.service;
import org.springframework.stereotype.Component;
@Component
public class Login {
public void userLogin(String name) {
System.out.println(name+"用戶登錄");
}
}
再寫一個(gè)用aspect打開的文件Test(我也不懂這樣說(shuō)對(duì)不對(duì)累奈,可以用這樣的方法創(chuàng)建它)
新建的是選擇其他贬派,然后搜索aspect
package com.aspect;
public aspect Test {
/**
* 此處的ececution中的參數(shù)中的com.service.Login是指運(yùn)行
* com.service.Login類運(yùn)行前
* 第一個(gè)*號(hào)是指返回值不限急但,第二個(gè)*號(hào)是指方法名不限
* 括號(hào)只是任意個(gè)數(shù)類型不限的形參
*/
before() : execution(* com.service.Login.*(..)) {
System.out.println("登錄前的檢查");
}
after() : execution(* com.service.Login.*(..)) {
System.out.println("登錄后的檢查");
}
}
之后測(cè)試一下
@Test
public void testAspectJ() {
ApplicationContext applicationContext = new ClassPathXmlApplicationContext("beans.xml");
Login login = applicationContext.getBean("login", Login.class);
login.userLogin("Slence");
}
運(yùn)行效果
可以看到運(yùn)行userLogin方法之前和之后自動(dòng)加上了Test類中的代碼