使用Eclipse和AJDT开发AspectJ应用
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
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/374079/viewspace-131446/,如需转载,请注明出处,否则将追究法律责任。