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. public class HelloWorld {
  3. /**
  4. * @param args
  5. */
  6. public static void main(String[] args) {
  7. }
  8. }

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

   

[java] view plain copy

  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了。

时间: 2024-10-08 09:46:54

AspectJ基础学习之三HelloWorld(转载)的相关文章

AspectJ基础学习之二搭建环境(转载)

AspectJ基础学习之二搭建环境(转载) 一.下载Aspectj以及AJDT 上一章已经列出了他的官方网站,自己上去download吧.AJDT是一个eclipse插件,开发aspectj必装,他可以提供语法检查,以及编译.这里要说一点重要的知识: aspectj不能使用传统的JDK编译,他的编译器扩展自JDK.AJDT提供的编译功能,就为我们省了很多事,当然你也可以用命令行自己去编译(不过我从来没有这么做过). 无论是apsectj的安装,还是AJDT网上还是有很多文章讲的.不会的同学可以自

OpenGL基础学习之三渲染知识

一.渲染的基础对象概念 1.顶点数组对象(VAO Vertex Array Object) 2.顶点缓冲对象(VBO Vertex Buffer Object) 3.索引缓冲对象(IBO Index Buffer Object) 4.图形渲染管线(Graphics Pipeline)图形渲染管线接受一组3D坐标,然后把它们转变为你屏幕上的有色2D像素输出 5.着色器(Shader 在显卡的小处理核心上各自运行的小程序,在图形渲染管线中快速处理你的数据 OpenGL使用的着色器语言为GLSL (O

[转载] 几张非常有意义的JavaScript基础学习思维图

原文:http://www.w3cfuns.com/forum.php?mod=viewthread&tid=5598364&extra=page%3D1%26filter%3Ddigest%26digest%3D1%26digest%3D1 1.JavaScript 数组 2.JavaScript 函数基础 3.Javascript 运算符 4.JavaScript 流程控制 5.JavaScript 正则表达式 6.JavaScript 字符串函数 7.JavaScript 数据类型

Java基础01 从HelloWorld到面向对象(转载)

Java是完全面向对象的语言.Java通过虚拟机的运行机制,实现“跨平台”的理念. "Hello World!" public class HelloWorld{    public static void main(String[] args){        System.out.println("Hello World!");    }} 程序中包括Java的一些基本特征: 类(class):上面程序定义了一个类HelloWorld,该类的名字与.java文件

转载:java基础学习总结——java读取properties文件总结

java基础学习总结--java读取properties文件总结 一.java读取properties文件总结 在java项目中,操作properties文件是经常要做的,因为很多的配置信息都会写在properties文件中,这里主要是总结使用getResourceAsStream方法和InputStream流去读取properties文件,使用getResourceAsStream方法去读取properties文件时需要特别注意properties文件路径的写法,测试项目如下: 1.1.项目的

【零基础学习iOS开发】【转载】

原文地址:http://www.cnblogs.com/mjios/archive/2013/04/24/3039357.html 本文目录 一.什么是iOS 二.主流手机操作系统 三.什么是iOS开发 四.学习iOS开发的目的 五.学习iOS开发的前提 从今天开始,我就开始更新[零基础学习iOS开发]这个专题.不管你是否涉足过IT领域,也不管你是理科生还是文科生,只要你对iOS开发感兴趣,都可以来阅读此专题.我尽量以通俗易懂的语言,让每个人都能够看懂.若遇到不明白的地方或者对此文有异议,望及时

怎么规划一个零基础学习Unity3D的“方法”或者“流程”?

具体出处:https://www.zhihu.com/question/35542990 我只是一个计算机相关专业毕业的,已经掌握了基础的C#并开发过.net的.目前突然心血来潮对unity3D有兴趣,就学习下. 推荐学习视频网页:http://www.taikr.com/ 虽然要钱不过有免费的. http://study.163.com/course/introduction.htm?courseId=1002818014  游戏特效 - Unity3d特效基础 - 入门到精通(免费)  ht

ASP.Net MVC开发基础学习笔记:三、Razor视图引擎、控制器与路由机制学习

一.天降神器“剃须刀” — Razor视图引擎 1.1 千呼万唤始出来的MVC3.0 在MVC3.0版本的时候,微软终于引入了第二种模板引擎:Razor.在这之前,我们一直在使用WebForm时代沿留下来的ASPX引擎或者第三方的NVelocity模板引擎. Razor在减少代码冗余.增强代码可读性和Visual Studio智能感知方面,都有着突出的优势.Razor一经推出就深受广大ASP.Net开发者的喜爱. 1.2 Razor的语法 (1)Razor文件类型:Razor支持两种文件类型,分

cc2530 makefile简略分析 <contiki学习之三>

前面将contiki的makefile框架都理了下,这篇就以cc2530为收篇吧,也即makefile分析就该到此为止了. contiki/examples/cc2530dk 打开Makefile如下图: 第一行的 "CONTIKI_PROJECT"变量依赖于该目录下的  blink-hello.c  hello-world.c  sensors-demo.c  timer-test.c 4个C源文件 第五行的"CONTIKI"变量被定义成 contiki/ 路径,