您的位置:首页 > 编程语言 > ASP

AspectJ+AJDT+用Ant管理AspectJ项目+AspectJ教程

2015-02-13 10:42 267 查看
①下载安装AspectJ


Aspect下载页面下载最新版的Aspect,然后在命令行下运行下载到jar文件:java -jar xxxx.jar,按照提示进行安装

安装完毕后

将安装目录下的lib文件下的aspectjrt.jar复制到jre安装目录下的ext文件夹

例如:将E:\Program Files\Java\aspectj1.8\lib\aspectjrt.jar文件复制到E:\Program Files\Java\jdk\jre\lib\ext目录下

将安装目录下的bin文件夹添加到环境变量path中

例如:将E:\Program Files\Java\aspectj1.8\bin添加到环境变量path中

②安装AJDT插件

AJDT下载页面下载适合自己Eclipse版本的AJDT插件

解压下载下来的压缩包中的feature和plugins目录下的内容加入到Eclipse的相应同名目录中即可完成AJDT的安装,之后重启Eclipse

我们来看看能不能新建AspectJ Project

右键->New->Other->AspectJ->AspectJ Project

新建项目成功!

当你在项目中出现aspect关键字时,会有波浪线,把鼠标放在那里eclipse就会提示你切换到AspectJ/Java Editor来编辑,就能识别这些新aspectJ中的关键字了

或者可以直接右键你要编辑的Java文件选择Open With中的AspectJ/Java Editor来打开

③编写AspectJ Example

Hello.java

package com.aspectJ.test;

public class Hello {
public void sayHello() {
System.out.println("sayHello");
}
}


HelloAspect.java

package com.aspectJ.test;

public aspect HelloAspect {
pointcut logPointcut():execution(void Hello.sayHello());

after():logPointcut(){
System.out.println("Logging : After sayHello");
}
}


Main.java
package com.aspectJ.test;

public class Main {
public static void main(String args[]) {
new Hello().sayHello();
}
}


右键Main.java选择Run as中的AspectJ/Java Application 运行

输出

sayHello
Logging : After sayHello


③使用Ant管理AspectJ项目

在项目中新建libs文件夹,把AspectJ安装目录下aspectjtools.jar放到该文件夹中

新建build.xml内容如下

<?xml version="1.0" encoding="utf-8"?>
<project name="test" basedir="." default="">
<property name="src" value="src"/>
<property name="dest" value="classes"/>

<path id="classpath">
<fileset dir="libs">
<include name="**/*.jar"/>
</fileset>
<pathelement path="${dest}"/>
</path>

<taskdef resource="org/aspectj/tools/ant/taskdefs/aspectjTaskdefs.properties">
<classpath refid="classpath"/>
</taskdef>

<target name="compile" description="Compile all source code">
<delete dir="${dest}"/>
<mkdir dir="${dest}"/>
<copy todir="${dest}">
<fileset dir="${src}">
<exclude name="**/*.java"/>
</fileset>
</copy>
<iajc destdir="${dest}" debug="true"
deprecation="false" failonerror="true">
<src path="${src}"/>
<classpath refid="classpath"/>
</iajc>
</target>

<target name="run" description="Run the main class" depends="compile">
<java classname="com.aspectJ.test.Main" fork="yes" failonerror="true">
<classpath refid="classpath"/>
</java>
</target>

</project>


关键点:

<taskdef resource="org/aspectj/tools/ant/taskdefs/aspectjTaskdefs.properties">

<classpath refid="classpath"/>

</taskdef>

这组标签的存在是为了支持iajc标签,所以当然要把aspectjtools.jar放到类加载路径中

然后用iajc标签代替javac标签来编译项目

然后就可以再命令行执行 ant run 来运行项目了

注:本文代码参考李刚的《轻量级Java EE 企业应用实战3.0》

aspectJ学习资源:

AspectJ安装和配置指南

跟我学AspectJ(一)

跟我学AspectJ(二)

跟我学AspectJ(三)

跟我学AspectJ(四)

跟我学AspectJ(五)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: