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


    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
     
    1. package com.aspectj.demo.test;  
    2.   
    3. public class HelloWorld {  
    4.   
    5.     /** 
    6.      * @param args 
    7.      */  
    8.     public static void main(String[] args) {  
    9.   
    10.     }  
    11.   
    12. }  



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

       

    [java] view plain copy
     
    1. package com.aspectj.demo.aspect;  
    2.   
    3. public aspect HelloAspect {  
    4.   
    5.     pointcut HelloWorldPointCut() : execution(* com.aspectj.demo.test.HelloWorld.main(..));  
    6.       
    7.       
    8.       
    9.     before() : HelloWorldPointCut(){  
    10.         System.out.println("Hello world");  
    11.     }  
    12. }  

    三、运行结果于分析

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

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

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

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

  • 相关阅读:
    【刷题】BZOJ 1036 [ZJOI2008]树的统计Count
    【刷题】BZOJ 1180 [CROATIAN2009]OTOCI
    【刷题】BZOJ 1453 [Wc]Dface双面棋盘
    【刷题】BZOJ 4025 二分图
    【模考】2018.04.08 Connection
    【模考】2018.04.08 Travel
    【刷题】BZOJ 4825 [Hnoi2017]单旋
    【刷题】洛谷 P3613 睡觉困难综合征
    【刷题】BZOJ 3668 [Noi2014]起床困难综合症
    CSS3_边框 border 详解_一个 div 的阴阳图
  • 原文地址:https://www.cnblogs.com/hujiapeng/p/5201777.html
Copyright © 2020-2023  润新知