AspectJ基础学习之三HelloWorld(转载)
2016-02-19 17:42
597 查看
AspectJ基础学习之三HelloWorld(转载)
一、创建项目
我们将project命名为:aspectjDemo。然后我们新建2个package:com.aspectj.demo.aspect 和 com.aspectj.demo.test
前者用来方apsect。后者用来放测试类。如果你仔细的话,你会发现Aspectj的项目上面有个AJ的标志。
二、创建Aspect
首先我们创建HelloWorld.java。他包含main()方法,但是没有方法体,代码如下:
[java] view plain copy
package com.aspectj.demo.test;
public class HelloWorld {
/**
* @param args
*/
public static void main(String[] args) {
}
}
接下来创建一个Aspectj。我们命名为:HelloAspect,其后缀名我:.aj 。这里千万别习惯性就New --->Class了哦~切记。接下来我们编写这个aspect的内容。
[java] view plain copy
package com.aspectj.demo.aspect;
public aspect HelloAspect {
pointcut HelloWorldPointCut() : execution(* com.aspectj.demo.test.HelloWorld.main(..));
before() : HelloWorldPointCut(){
System.out.println("Hello world");
}
}
三、运行结果于分析
运行HelloWorld,你会发现打印了Hello world.
另外不知道你发现没有在Line Number那里现实的深色的箭头? 移上去,看看他说什么? advices HelloWorld.main(String[])。 意思是说:横切了HelloWorld的main(String[])方法。
同样在HelloWorld这边也有箭头,这是箭头的方向不同。鼠标移上去,读读上面的提示吧。~
从这个demo我们可以看出,Aspectj真的是很简单,就如第一章他的自我介绍一样:易学易用,而且不侵入。不需要继承任何类和接口。 只要编写一个pointcut和 advice就ok了。
一、创建项目
我们将project命名为:aspectjDemo。然后我们新建2个package:com.aspectj.demo.aspect 和 com.aspectj.demo.test
前者用来方apsect。后者用来放测试类。如果你仔细的话,你会发现Aspectj的项目上面有个AJ的标志。
二、创建Aspect
首先我们创建HelloWorld.java。他包含main()方法,但是没有方法体,代码如下:
[java] view plain copy
package com.aspectj.demo.test;
public class HelloWorld {
/**
* @param args
*/
public static void main(String[] args) {
}
}
接下来创建一个Aspectj。我们命名为:HelloAspect,其后缀名我:.aj 。这里千万别习惯性就New --->Class了哦~切记。接下来我们编写这个aspect的内容。
[java] view plain copy
package com.aspectj.demo.aspect;
public aspect HelloAspect {
pointcut HelloWorldPointCut() : execution(* com.aspectj.demo.test.HelloWorld.main(..));
before() : HelloWorldPointCut(){
System.out.println("Hello world");
}
}
三、运行结果于分析
运行HelloWorld,你会发现打印了Hello world.
另外不知道你发现没有在Line Number那里现实的深色的箭头? 移上去,看看他说什么? advices HelloWorld.main(String[])。 意思是说:横切了HelloWorld的main(String[])方法。
同样在HelloWorld这边也有箭头,这是箭头的方向不同。鼠标移上去,读读上面的提示吧。~
从这个demo我们可以看出,Aspectj真的是很简单,就如第一章他的自我介绍一样:易学易用,而且不侵入。不需要继承任何类和接口。 只要编写一个pointcut和 advice就ok了。
相关文章推荐
- AspectJ基础学习之二搭建环境(转载)
- AspectJ基础学习之一简介(转载)
- asp.net无刷新上传(带预览)
- ASP.NET 中通过Form身份验证 来模拟Windows 域服务身份验证的方法
- [译] ASP.NET 生命周期 – ASP.NET 上下文对象(八)
- ASP.NET MVC:通过 FileResult 向 浏览器 发送文件
- ASP.Net 添加 Interop for Word, excel 插件
- [译] ASP.NET 生命周期 – ASP.NET 上下文对象(七)
- Elmah使用总结
- 七天学会ASP.NET MVC (一)——深入理解ASP.NET MVC
- PMP在线考试学习系统ASP.NET100%源码(参加PMP考试的学员请加QQ群:347505832)
- asp.net 生成图形验证码(字母和数字混合)
- ASP.NET 系列:单元测试
- 支付宝支付接口中notify_url 与 return_url 的区别
- IIS7web服务器调试ASP.net程序遇到的一些故障的解决办法
- ASP.NET 后台代码的与前台文件“类”的关系
- DataTable如何转换为实体类
- ASP.NET学习
- ASP.NET中实现导出ppt文件数据的实例分享
- ASP.NET Form身份验证方式详解