`
Supanccy2013
  • 浏览: 223922 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Aspectj实现aop(静态编译增强处理)

    博客分类:
  • AOP
阅读更多
环境准备
1,安装jdk,配置JAVA_HOME,CLASSPATH,PATH环境变量
2,下载aspectj 1.6.10.jar,并用java -jar命令安装此jar包,把安装后的bin目录添加到path,
   lib目录中的jar添加到classpath中

实例:
1,正常的java类文件
public class Hello {
	public void sayHello(){
		System.out.println("hello Aspectj!");
	}
	public static void main(String[] args) {
		Hello h = new Hello();
		h.sayHello();
	}
}


2,在Hello.sayHello()方法前后开启事务的增强处理类
public aspect TxAspect {
	void around():call(void Hello.SayHello())
	{
		System.out.println("开始事务");
		proceed();
		System.out.println("结束事务");
	}
}


3,在Hello.sayHello方法后记录日志
public aspect LogAspect {
	pointcut logPointcut():execution(void Hello.sayHello());
	after():logPointcut()
	{
		System.out.println("日志已经记录");
	}	
}


4,编译:
  C:\aop>ajc -d . *.java
5,运行
  C:\aop>java Hello
6,结果输出:
C:\aop>java Hello
开始事务
hello Aspectj!
日志已经记录
结束事务


分享到:
评论

相关推荐

    aspectj+aspectjrt+aspectjweaver+aopalliance.rar

    AspectJ提供了一种静态类型的AOP解决方案,可以进行编译时或运行时织入。 2. **AspectJ Runtime (aspectjrt.jar)**:这是AspectJ运行时库,包含运行时需要的基本类和接口,用于支持AOP的执行。它提供了加载、解析和...

    Android+反射+代理+静态代理+AspectJ

    AspectJ 作为静态AOP框架,提供了一种高效且声明式的切面编程方式,它允许在编译时将切面逻辑织入代码,增强了代码的可维护性和复用性。通过理解切点、通知、织入等概念,开发者可以更有效地实现横切关注点的分离,...

    aspectj-1.9.6.jar

    6. **编织增强(Advising Enhancements)**:AspectJ允许在已有的类和接口上添加方法、字段和初始化代码,实现对已有代码的无侵入式增强。 7. **集成其他Java框架**:AspectJ可以与Spring框架无缝集成,进一步简化...

    Spring AOP + AspectJ in XML 配置示例

    这篇博客“Spring AOP + AspectJ in XML配置示例”旨在指导开发者如何在XML配置中实现Spring AOP和AspectJ的结合。 首先,我们需要理解AOP的基本概念。AOP通过将关注点(如日志、事务管理)与业务逻辑分离,提高了...

    AOP及其Java实现机制.doc

    AspectJ是一种强大的AOP实现,支持静态织入和动态织入。此外,Spring框架也提供了AOP的支持,主要通过代理模式实现动态织入。 ##### 3.1 AspectJ AspectJ提供了一个完整的AOP编程模型,允许开发者使用面向方面的...

    基于 aspectjweaver AOP 实现的 Annotatio和一些 HDFS和Spark helper

    AspectJ是一个Java平台上的AOP框架,提供了强大的静态编织(编译时或加载时)能力,使得开发者可以方便地实现横切关注点,如日志、事务管理等。在给定的"基于aspectjweaver AOP实现的Annotatio"中,我们可以理解为...

    AOP编程的两个相关的Jar包

    AspectJ支持编译时和加载时织入,可以更好地处理静态类型和类层次结构。 现在,我们回到描述中提到的两个额外的Jar包。通常,如果你的项目中使用了Spring AOP,但缺少特定的依赖,可能会遇到以下情况: - **...

    aspectj,aspectjrt,weaver等

    AspectJ 提供了静态和动态两种织入方式,静态织入在编译时完成,而动态织入则在运行时进行。 AspectJRT (AspectJ Runtime) 是AspectJ 的运行时库,它是AspectJ 编译器生成的字节码运行的基础。AspectJRT 包含了用于...

    Spring使用AOP的三个jar包

    当Spring使用AOP时,如果选择使用AspectJ进行编译时或加载时织入,就需要这个jar包。织入是指将切面的代码插入到目标类的字节码中的过程,AspectJrt.jar使得这种操作成为可能。 其次,`aspectjweaver.jar`是AspectJ...

    spring aop支持jdk1.7的jar

    在Spring AOP中,如果配置了AspectJ Weaver,那么即使没有使用ajc进行预编译,也能在运行时实现AOP的切面处理。 在使用这两个jar文件时,我们需要确保Spring配置正确引用了它们,并且在Spring容器启动时,AspectJ ...

    AspectJ_in_Action.pdf

    AspectJ支持静态和运行时的切面,能够在编译时、类加载时或运行时插入切面代码,这使得它可以更加灵活地处理不同场景下的需求。AspectJ的语法简洁,与Java语言无缝集成,使得开发者可以轻松地学习和使用。 ### 本书...

    spring aop_aopalliance.jar_aspectjweaver.jar

    AspectJ是Spring AOP支持的一个强大的第三方AOP框架,它提供了更强大的面向切面编程能力,包括类型级别的切面和编译时/加载时织入。`aspectjweaver.jar`是AspectJ的织入代理,负责在运行时将切面织入到应用程序的类...

    spring_AOP.rar_876.aop_java aop_spring_aop

    Spring AOP(面向切面编程)是Java开发中Spring框架的核心特性之一,它提供了一种在不修改源代码的情况下,对程序进行功能增强的技术。在SSH(Struts、Spring、Hibernate)经典企业级开发框架中,Spring AOP扮演着至...

    Spring AOP需要的jar

    它能够读取和修改字节码,使得在运行时可以动态地插入切面代码,即使是在编译时没有被AspectJ编译的类上,也能进行AOP处理。因此,如果你的项目需要更复杂的切点匹配规则,或者希望在类加载时就完成切面的织入,那么...

    sqring aop 必须的四个jar包

    Spring AOP,即Spring的面向切面编程模块,是Spring框架的重要组成部分,它允许开发者在不修改源代码的情况下,对程序进行功能增强或统一处理。在这个主题中,我们主要关注四个核心的jar包,它们是实现Spring AOP...

    深入字节码 -- 使用 ASM 实现 AOP1

    这样,我们就可以在不改变原始源代码的情况下,实现对类、方法的动态增强,达到 AOP(面向切面编程)的目的。 AOP 的核心思想是将关注点分离,比如日志、事务管理等通用功能,可以作为切面(Aspect)独立出来,不再...

    aop相关开发包

    这使得AspectJ可以实现对非AspectJ编译的代码的AOP支持。 5. org.springframework.aop.jar:这是Spring框架的AOP模块,提供了基于代理的AOP实现。Spring AOP允许在不改变原有代码的情况下,通过定义切面和通知来...

    Spring AOP依赖jar包

    Spring AOP 可以与 AspectJ 集成,使用其编译时或加载时织入功能,以提高性能和减少运行时开销。`AspectJ 1.6.12` 版本的 Jar 包包括了 `aspectjrt.jar` 和 `aspectjweaver.jar`: - **aspectjrt.jar**:AspectJ ...

    深入解析Spring AOP源码:从原理到实现,全方位掌握Java AOP编程精髓

    AspectJ是一种更为全面的AOP解决方案,支持静态织入,可以在编译时、编译后或类加载时进行织入。相比于Spring AOP,AspectJ具有更高的性能,因为它在运行前已完成织入,减少了运行时的额外开销。AspectJ提供了更丰富...

    Spring AOP依赖的Aspertj的jar包

    此时,为了充分利用AOP的优势,Spring框架引入了对AspectJ的支持,允许我们使用AspectJ的编译时织入或加载时织入(Load-time weaving)来增强功能。 AspectJ的jar包通常包含以下组件: 1. aspectjrt.jar:包含了...

Global site tag (gtag.js) - Google Analytics