`
morgan117
  • 浏览: 4413 次
最近访客 更多访客>>
社区版块
存档分类
最新评论

Spring AspectJ

阅读更多
Spring AOP的配置是较为复杂的。所以Spring引入了AspectJ,来定义切面。
切面是由切点(PointCut)和增强(Advice)组成的。 @AspectJ使用了JDK5.0中的注解技术,简化了Spring AOP的配置。
增强类型:
1. @Before
   与MethodBeforeAdvice相对应,即在方法执行前织入代码
2. @AfterReturning
   与AfterReturningAdvice相对应,即在方法执行后织入代码
3. @After
   没有对应的Advice, 在方法执行完后或者抛出异常后织入代码,跟finally类似
4. @Around
   与@MethodInterceptor相对应,在方法执行前后织入代码,可以在增强方法(织入代码)中传入参数ProceedingJoinPoint, 执行其proceed() 执行target的方法。
5. @AfterThrowing
   与ThrowsAdvice对应,在抛出异常后织入代码。
6. @DeclareParents
   与IntroductionAdvice对应,可以通过defaultImpl,继承某个子类,实现添加新的属性和方法。

切点表达式函数:
1. 方法切点函数:
execution(): 参数: 方法匹配模式。 匹配方法名符合上述模式的方法
annotation(): 参数: 标注类。 匹配所有标注了该标注的方法

2. 方法参数切点函数:
args(): 参数: 方法参数的类型。匹配所有参数类型为该类型的方法
@args(): 参数: 含标注的方法。 匹配所有参数类含该标注的方法

3. 类切点函数
within() 参数:类名匹配模式。 匹配所有类名符合上述模式的类
target() 参数:类名。 匹配该类以及其父类
@within() 参数: 标注类。 匹配所有含有有该标注的类及其父类
@target() 参数: 标注类。 匹配所有含有该标注的类
@this() 参数:类名。跟@target基本相同,区别在于引介切面时,同样织入引介产生的方法。

通配符:
和正则表达式的通配符不同:
* 匹配任意字符,但只能匹配上下文中的一个元素
.. 匹配任意字符,可以匹配上下文中多个元素,在表示类时,必须和*连用,而在表示入参时单独使用
+ 匹配指定类以及其父类

注意: 以@(@within,@target,@this)开头的切点表达式不支持通配符

在使用JDK5.0以下的jdk时,不能使用注解,这时候spring 还提供了xml的方式。
<aop:aspect>
分享到:
评论

相关推荐

    Spring AspectJ的学习一

    **Spring AspectJ 学习详解** 在Java世界中,Spring框架以其强大的依赖注入(DI)和面向切面编程(AOP)能力而闻名。AspectJ是AOP领域的一个强大工具,它扩展了Java语言,允许开发者创建所谓的"切面",来封装横切...

    spring aspectj.jar

    《Spring AOP与AspectJ深度解析》 在Java开发领域,Spring框架以其强大的功能和灵活性深受开发者喜爱。其中,Spring的面向切面编程(AOP)特性极大地简化了代码的维护和扩展。AspectJ是Spring AOP的重要组成部分,...

    spring AspectJ aop学习

    当我们谈论"spring AspectJ aop学习"时,我们将深入探讨Spring AOP如何结合AspectJ来实现更灵活的模块化和解耦。 首先,让我们理解AOP的概念。面向切面编程(Aspect Oriented Programming)是一种编程范式,旨在将...

    spring aspectj-1.9.0.jar包

    aspectj.jar的1.9.0版本,下载后粘贴到所属的lib文件下即可

    Spring 使用AspectJ 实现 AOP之前置通知小例子

    标题提到的"Spring 使用AspectJ 实现 AOP之前置通知小例子",指的是利用AspectJ在Spring中实现AOP的一种特定类型的通知——前置通知(Before advice)。前置通知在目标方法执行之前运行,但不会阻止方法的执行。这种...

    spring基于AspectJ实现事务控制

    这通常涉及到添加`&lt;aop:aspectj-autoproxy&gt;`标签,它指示Spring使用AspectJ代理来创建bean。 ```xml &lt;aop:aspectj-autoproxy /&gt; ``` 2. **定义事务切面**:创建一个包含事务处理逻辑的切面类,该类通常会包含一...

    Spring AOP @AspectJ 入门实例

    本实例将带你深入理解并实践Spring AOP与@AspectJ的结合使用。 首先,了解AOP的基本概念。面向切面编程是一种编程范式,它允许程序员定义“切面”,即跨越多个对象的行为或责任。这些切面可以包含业务逻辑、日志、...

    Spring AspectJ AOP框架注解原理解析

    Spring AspectJ AOP框架注解是Spring框架中实现面向切面编程(AOP)的一种方式,它结合了AspectJ的强大功能和Spring的易用性。AspectJ是一个独立的AOP框架,它为Java提供了专门的语法和编译器来处理切面。Spring 2.0...

    Spring的AOP依赖包-AspectJ

    而AspectJ是Java平台上的一个开源项目,提供了一种强大的、类型安全的AOP解决方案,它能够与Spring框架完美结合,增强Spring的AOP功能。 首先,我们需要理解AOP的核心概念。切面(Aspect)是关注点的模块化,这些...

    详解在Spring中如何使用AspectJ来实现AOP

    使用AspectJ实现AOP在Spring中的详解 标题:详解在Spring中如何使用AspectJ来实现AOP 描述:使用AspectJ来实现AOP(Aspect-Oriented Programming)在Spring框架中,通过AspectJ来描述切点和增强,实现AOP编程。 ...

    Spring aspect .jar包 (3.0版本)

    《Spring AspectJ 3.0版本详解》 在Java开发领域,Spring框架以其强大的功能和灵活性赢得了广大开发者的心。而在Spring框架中,AspectJ是一个重要的组成部分,它为开发者提供了面向切面编程(AOP)的能力。本文将...

    spring和aspectj的aop实验

    标题"spring和aspectj的aop实验"表明我们将探讨如何在Spring中使用AspectJ进行AOP实践。这通常涉及到创建切面、定义通知、配置织入策略以及测试其效果。 1. **什么是AOP** AOP的核心概念是切面(Aspect),它封装...

    spring-aspectj-compiletime-weaving:Spring AspectJ 示例应用程序

    spring-aspectj-compiletime-weaving 这是一个示例项目,说明了如何在 java 8 环境中结合 spring 使用 aspectj。 UnmanagedClass 类用于说明如何在非托管 bean 中自动装配 bean。

    Spring用AspectJ开发AOP(基于Annotation)

    Spring用AspectJ开发AOP(基于Annotation) 作为一名IT行业大师,我将详细介绍Spring用AspectJ开发AOP(基于Annotation),并对标题、描述、标签和部分内容进行详细解释。 标题: Spring用AspectJ开发AOP(基于...

    Spring 使用AspectJ 实现 AOP(基于xml文件、基于注解)

    本教程将探讨如何在Spring中结合AspectJ实现AOP,包括基于XML配置和基于注解的方式。 **一、AOP基本概念** AOP的核心概念有切面(Aspect)、连接点(Join Point)、通知(Advice)、切点(Pointcut)和引入...

    Spring Aop之AspectJ注解配置实现日志管理的方法

    Spring Aop之AspectJ注解配置实现日志管理的方法 Spring Aop是基于AspectJ实现的面向切面编程(AOP),它提供了一个灵活的方式来实现日志管理。通过使用AspectJ注解,可以轻松地实现日志记录、性能监控、安全检查...

    Spring AOP的AspectJ支持jar包

    Spring AOP的AspectJ支持jar包; 包括: com.springsource.net.sf.cglib-2.2.0.jar com.srpingsource.org.aopalliance-1.0.0.jar com.srpingsource.org.aspectj.weaver-1.68.RELEASE.jar

    Spring AOP AspectJ使用及配置过程解析

    Spring AOP AspectJ 使用及配置过程解析 本文主要介绍了 Spring AOP AspectJ 的使用及配置过程解析,通过示例代码介绍了非常详细,对大家的学习或者工作具有一定的参考学习价值。 AspectJ 简介 AspectJ 是一个...

    aspectj的jar spring使用aop需要的jar

    综上所述,为了在Spring中利用AspectJ的全部功能,你需要将对应的AspectJ JAR文件加入到项目类路径中,然后按照Spring文档或AspectJ文档的指导配置和使用AOP。这将使你的代码更加模块化,降低耦合,提高可维护性。

    spring源码导入所需aspectj包

    在Spring框架中,AspectJ是一种强大的面向切面编程(AOP)工具,它允许开发者定义“切面”——即跨越多个对象的行为或属性。这些切面可以用来封装那些分散在整个应用中的横切关注点,例如日志、事务管理或者安全控制...

Global site tag (gtag.js) - Google Analytics