在eclipse中使用Aspectj

Aspectj是一種面向切面的框架,用它可以實(shí)現(xiàn)面向切面編程。在eclipse如果要使用Aspectj需要安裝ADJT插件,安裝方法如下

  1. 下載安裝包,下載地址

    下載最新的ADJT,此處以2.2.3.為例

  2. 在eclipse中安裝

點(diǎn)擊【Install New SoftWare】

點(diǎn)擊【Add】按鈕->選擇【Archive】->選擇剛剛下載好的壓縮包

選擇AspectJ Development Tools(Required)

之后稍等片刻,喝點(diǎn)水....


之后就按照正常的來(lái)安裝好啦,我這邊已經(jīng)安裝了就不能安裝了
  1. 寫(xiě)一個(gè)小Demo
    首先寫(xiě)一個(gè)普通的類(lèi)Login
package com.service;
import org.springframework.stereotype.Component;

@Component
public class Login {
    public void userLogin(String name) {
        System.out.println(name+"用戶(hù)登錄");
    }
}

再寫(xiě)一個(gè)用aspect打開(kāi)的文件Test(我也不懂這樣說(shuō)對(duì)不對(duì),可以用這樣的方法創(chuàng)建它)

新建的是選擇其他,然后搜索aspect
package com.aspect;

public aspect Test {
    /**
     * 此處的ececution中的參數(shù)中的com.service.Login是指運(yùn)行
     * com.service.Login類(lèi)運(yùn)行前
     * 第一個(gè)*號(hào)是指返回值不限,第二個(gè)*號(hào)是指方法名不限
     * 括號(hào)只是任意個(gè)數(shù)類(lèi)型不限的形參
     */
    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類(lèi)中的代碼

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,039評(píng)論 25 709
  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,555評(píng)論 19 139
  • 團(tuán)隊(duì)開(kāi)發(fā)框架實(shí)戰(zhàn)—面向切面的編程 AOP 引言 軟件開(kāi)發(fā)的目標(biāo)是要對(duì)世界的部分元素或者信息流建立模型,實(shí)現(xiàn)軟件系統(tǒng)...
    Bobby0322閱讀 4,350評(píng)論 4 49
  • 又一種胡說(shuō)征文I出家 他和她并排坐在湖邊的草地上。 湖水在陽(yáng)光下波光粼粼,真是一湖碎玉般晃人眼。 他突然開(kāi)口:“我...
    安之若零閱讀 458評(píng)論 11 6
  • 我并不覺(jué)得自己內(nèi)心強(qiáng)大,我只是,對(duì)什么都不在乎,因?yàn)槲沂且粋€(gè)自卑的人,有朋友離開(kāi)我,那就離開(kāi)好了,順其自然啊,反正...
    971f68514f7a閱讀 433評(píng)論 0 3

友情鏈接更多精彩內(nèi)容