使用Eclipse和AJDT开发AspectJ应用(1)- 基础篇

王朝java/jsp·作者佚名  2006-01-09
宽屏版  字体: |||超大  

Eclipse和AOP现在是比较热的话题,而AOP技术中AspectJ是最成熟的一种,本文就简单介绍一下如何在Eclipse中开发AspectJ应用。AJDT是AspectJ项目为Eclipse开发的插件,用于开发运行AspectJ应用。本文假设已经对Eclipse和AspectJ有一定的了解。

一、我们首先设置好开发环境:

1、 下载AJDT插件,http://www.eclipse.org/ajdt/

现在最新版本ajdt_1.2_for_eclipse_3.0.zip

2、 当然还得由Eclipse,此版本的AJDT对应Eclipse V3.0.2,配置好jdk

3、 安装插件到Eclipse中,通用的有两种方法:

方法1:将下载的插件压缩包解压,将对应得plugin和feature文件夹复制到Eclipse中对应的目录

方法2:选择Help>Software Updates>Find and Install,然后选择刚才的下载包

4、选择windows->custom perspective->在new中选上aspect,这样“新建”中就会出现和aspectJ相关的选项。

二、然后我们来编写一个最简单的HelloWorld

1、 新建一个AspectProject,记住在Build Setting 中添加编译AspectJ所需的lib

步骤:Add Variable -> 选择ASPECTJRT_LIB,否则编译不了AspectJ程序

2、 新建一个class,如下:

/*

* Created on 2005-7-21

*

* Java Thread Programming - Paul Hyde

* Copyright ? 1999 Sams Publishing

* Jonathan Q. Bo 学习笔记

*

*/

package org.tju.msnrl.jonathan.aspect;

/**

* @author Jonathan Q. Bo from TJU MSNRL

*

* Email:jonathan.q.bo@gmail.com

* Blog:blog.csdn.net/jonathan_q_bo

* blog.yesky.net/jonathanundersun

*

* Enjoy Life with Sun!

*

*/

public class HelloWorld {

public static void main(String[] args) {

new HelloWorld().sayHello();

}

public void sayHello(){

System.out.println("Hello!");

}

}

3、 新建一个Aspect,如下:

/*

* Created on 2005-7-22

*

* Java Thread Programming - Paul Hyde

* Copyright ? 1999 Sams Publishing

* Jonathan Q. Bo 学习笔记

*

*/

package org.tju.msnrl.jonathan.aspect;

/**

* @author Jonathan Q. Bo from TJU MSNRL

*

* Email:jonathan.q.bo@gmail.com

* Blog:blog.csdn.net/jonathan_q_bo

* blog.yesky.net/jonathanundersun

*

* Enjoy Life with Sun!

*

*/

public aspect AspectHelloWorld {

pointcut greeting():

call(void HelloWorld.sayHello());

after() returning: greeting() {

System.out.println("world");

}

}

4、 保存,在HelloWorld.java上点右键,选择run->AspectJ/Application,就可以了

是不是很简单?能跑起这个程序,工具已经没有问题,剩下的就是对AspectJ语法的熟悉了。

[参考资料]

1、Eclipse中自带例程:HelloWorld(help->welcome->Simple AspectJ Application)

2、如想查看源程序,可直接新建AspectJ例程:在package perspective中点右键new->Introduction example,还包括好多example

3、http://blog.csdn.net/jonathan_q_bo/articles/430893.aspx

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有