AspectJ基础学习之三HelloWorld(转载)

时间:2022-03-01 17:43:33

AspectJ基础学习之三HelloWorld(转载)

一、创建项目

   AspectJ基础学习之三HelloWorld(转载)

我们将project命名为:aspectjDemo。然后我们新建2个package:com.aspectj.demo.aspect  和 com.aspectj.demo.test

前者用来方apsect。后者用来放测试类。如果你仔细的话,你会发现Aspectj的项目上面有个AJ的标志。

二、创建Aspect

   首先我们创建HelloWorld.java。他包含main()方法,但是没有方法体,代码如下:

    

  1. package com.aspectj.demo.test;
  2. public class HelloWorld {
  3. /**
  4. * @param args
  5. */
  6. public static void main(String[] args) {
  7. }
  8. }

接下来创建一个Aspectj。我们命名为:HelloAspect,其后缀名我:.aj 。这里千万别习惯性就New --->Class了哦~切记。接下来我们编写这个aspect的内容。

   

  1. package com.aspectj.demo.aspect;
  2. public aspect HelloAspect {
  3. pointcut HelloWorldPointCut() : execution(* com.aspectj.demo.test.HelloWorld.main(..));
  4. before() : HelloWorldPointCut(){
  5. System.out.println("Hello world");
  6. }
  7. }

三、运行结果于分析

  运行HelloWorld,你会发现打印了Hello world.

  另外不知道你发现没有在Line Number那里现实的深色的箭头? 移上去,看看他说什么? advices HelloWorld.main(String[])。 意思是说:横切了HelloWorld的main(String[])方法。

  同样在HelloWorld这边也有箭头,这是箭头的方向不同。鼠标移上去,读读上面的提示吧。~

  从这个demo我们可以看出,Aspectj真的是很简单,就如第一章他的自我介绍一样:易学易用,而且不侵入。不需要继承任何类和接口。 只要编写一个pointcut和 advice就ok了。