当前位置:七道奇文章资讯编程技术Java编程
日期:2011-03-22 16:14:00  来源:本站整理

<b>在Spring 2.0中集成AspectJ</b>[Java编程]

赞助商链接



  本文“<b>在Spring 2.0中集成AspectJ</b>[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

在Java语言中,从织入切面的方法上来看,存在三种织入方法:编译期织入、类加载期织入和运行期织入.编译期织入是指在Java编译期,采取特别的编译器,将切面织入到Java类中;而类加载期织入则指通过特别的类加载器,在类字节码加载到JVM时,织入切面;运行期织入则是采取CGLib工具或JDK动态代理举行切面的织入.

AspectJ采取编译期织入和类加载期织入的方法织入切面,是语言级的AOP实现,供应了完备的AOP支持.它用AspectJ语言定义切面,在编译期或类加载期将切面织入到Java类中.

在低版本的Spring中,你只能通过接口定义切面,在Spring 2.0中你可以通过AspectJ的切点表达式语法定义切点,Spring 2.0采取AspectJ的解析包解析切点织入切面.但这并非我们这篇文章要讲的内容.在这篇文章里,我们但愿从更高的层面上集成Spring和AspectJ,直接采取AspectJ织入切面,并让Spring IoC容器管理切面实例.

Spring AOP供应了有限的AOP支持,在普通情形下,这些支持已经可以满意我们的开辟要求,但假如对AOP有更高的要求(照实例化切面、属性拜候切面等),则需求利用AspectJ的支持,而AspectJ又可以操纵Spring IoC的依靠注入本领,二者相得益彰,琴瑟合鸣.

若何利用AspectJ LTW

我们前面提到过,AspectJ供应了两种切面织入方法,第一种通过特别编译器,在编译期,将AspectJ语言编写的切面类织入到Java类中,可以通过一个Ant或Maven任务来完成这个操作;第二种方法是类加载期织入,也简称为LTW(Load Time Weaving).这里,我们只介绍LTW的织入,编译期织入请参看:http://www.eclipse.org/aspectj/doc/released/devguide/antTasks.html.

利用AspectJ LTW有两个主要步骤,第一,通过JVM的-javaagent参数设置LTW的织入器类包,以代理JVM默许的类加载器;第二,LTW织入器需求一个aop.xml文件,在该文件中指定切面类和需求举行切面织入的目标类.下面,我们来理解一下具体的做法:

1.普通情形下,我们不会直接在DOS窗口中,通过Java号令启动利用或举行测试.这就要求我们在IDE环境下,或利用布置的环境下,设置JVM的参数.我们以Eclipse和Tomcat为例,辨别报告IDE和Web利用服务器中设置-javaapent JVM参数的办法.

在Eclipse下的设置

在Eclipse中,假如我们要改变JVM参数,可以在项目类导航树中选中某个可运行类->右键单击->Run As->Run...,可以在弹出的Run设置窗口设置该类的各项运行属性,切换到Arguments Tab页,在VM arguments中通过-javaagent指定AspectJ 织入器类包,以下图所示:

这里,我们设置为:-javaagent:D:masterSpringresourcesaspectj-1.5.3libaspectjweaver.jar


  以上是“<b>在Spring 2.0中集成AspectJ</b>[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:

  • <b>hosts是什么 hosts文件在什么位置 若何改正hosts</b>
  • <b>在 Windows 8 中手动安装语言包</b>
  • <b>五个常见 PHP数据库问题</b>
  • Windows中Alt键的12个高效快速的利用本领介绍
  • <b>MySQL ORDER BY 的实现解析</b>
  • <b>详解MySQL存储历程参数有三种范例(in、out、inout)</b>
  • <b>Win8系统恢复出来经典的开始菜单的办法</b>
  • <b>Win8系统花屏怎么办 Win8系统花屏的办理办法</b>
  • <b>Windows 7系统下无线网卡安装</b>
  • <b>为什么 Linux不需求碎片整理</b>
  • <b>Windows 8中删除账户的几种办法(图)</b>
  • <b>教你如安在win7下配置路由器</b>
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .