AOP之Aspectj案例

来源:互联网 发布:网络招聘平台有哪些 编辑:程序博客网 时间:2024/06/05 20:43

1.什么是Aspectj

Aspectj是一个基于java语言的AOP(面向切面编程)框架,是spring的基础,它提供了很多AOP(面向切面编程)功能(例如我们接下来要试验的:在正常的java运行类中添加新功能),所以我们要学习Spring就要学习Aspectj

其实Aspecyj并不是一个java语言,它是一个切面语言,例如在定义的时候 public aspect test() ,等等拥有着与java不同的关键字,因此解析Aspect就需要与java不同的平台.这就涉及到了系统的环境配置了.

2.下载Aspectj

官网下载地址:http://www.eclipse.org/aspectj/downloads.php#stable_release

然后选择下图红色圈圈位置的jar包



2.1接下来我和你们说下安装步骤:

第一步:把它下载下来后,在cmd(控制后台)输入:java -jar aspectj-1.8.9.jar(因为他是java的补充,所以aspect命令也可以看做是一个加强版的javac)就可以进入安装页面.如下图所示



第二步:按next之后进入两个页面,一个问你:aspectj的家放在哪里? 一个问你aspect的Bin放在哪里?

我统统将他们放到我经常使用的E:盘中,如下图:


注:上图的地址是一开始系统默认aspect家的地址,我把它改成E:\Aspectj\

第三步:它提示你安装成功,然后叫你按提示,把classpath和path的值给设置了(至于什么是classpath和path?有不懂的java朋友可以看我上一篇转载的文章)


第四步:按它的要求设置classpath和path,    步骤:1.右击我的电脑   2.打开高级系统配置  3.打开环境变量对系统变量进行配置(其中classpath是需要我们自己创建的path是系统已经给我们的)如下图





第五步:Aspectj下载好了,环境也好了,我们开始我们的第一个Aspectj编程(加强java编程功能,在java外围帮java类添加方法)其实这也可以看出Aspectj是java的一个加强工具

  写一个普通的java类有sayHello普通方法

   public class person{

             public void sayHello(){

                        System.out.println("hello Aspectj!!!");

}

              public static void main(String [] args){

                      person p=new person();

                      p.sayHello();

}

}

  接下来我们写一个Aspect类(一个特殊的java类)

      public aspect  addsay{

           void around():call(void person.sayHello)//观众们看到没有:这里开始指向person.sayHello方法,意思是通过该行代码来插入修改person类(终于知道为什么叫做切面编程了吧,切进去添加方法的编程)

         {

           System.out.println("开始事务....");

           proceed();//proceed英译是继续的意思

           System.out.println("事务结束....");

}      

}

最后一步:通过cmd 来运行他们

命令:ajc  person.java addsay.java

请看下图:


注:在我原先编译one 是普通java类  two是aspectj编程下的java类.

ok!今天的aspect的第一个案例终于讲完了!谢谢大家!如果对大家有所帮助,请大家点个赞!


参考书籍:李刚的<<轻量级javaee企业应用实战>>

1 0
原创粉丝点击