`
longzhun
  • 浏览: 372052 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

AspectJ的切点函数execution方法介绍

 
阅读更多


AspectJ通配符:

1、× 一个元素
2、.. 多个元素
3、 +类的类型,必须跟在类后面。

AspectJ切点函数:

execution(修饰符 返回类型 方法名(参数类型)异常类型)

execution(* *(..))                                 任意一个返回类型,任意一个方法名(多个参数)

execution(public * *(..))                          Public修饰符 任意一个返回类型,任意一个方法名(多个参数)

方法签名
例子1:

execution(* *Get*(..))                             userGet(..)    testGet(..)  demoGetList(..)

类定义:
execution(* com.longzhun.UserManager.*(..))        com.longzhun包下的UserManager类或接口中的所有方法都会被拦截    

execution(* com.longzhun.UserManager+.*(..))       com.longzhun包下的UserManager类或接口中的所有方法以及子类,实现类的所有方法都会被拦截    

 

包:
execution(* com.longzhun.*(..))                     com.longzhun包下的所有方法都会被拦截

execution(* com.longzhun..*(..))                    com.longzhun包下以及子包下的所有方法都会被拦截 如:com.longzhun.manager

execution(* com.longzhun..*.*Service.save*(..))     com.longzhun包下以及子包下以Service结尾的所有类或接口中的以save开始的所有方法都会被拦截
       UserService  DemoService  save*  saveUser saveDemo

参数:
execution(* com.longzhun.save*(String))

execution(* com.longzhun.save*(String,*))

execution(* com.longzhun.save*(String,..))

execution(* com.longzhun.save*(Object+))   

execution(* com.longzhun.save*(Object)) *

execution(* com.longzhun.save*(java.util.List))

java.lang.*

 

 

分享到:
评论

相关推荐

    跟我学Spring3(6.5)AspectJ切入点语法详解

    例如,我们可以使用`execution()`函数来匹配方法的执行: ```java @Pointcut("execution(* com.example.service.*.*(..))") public void serviceMethods() {} ``` 这里的`execution(* com.example.service.*.*(..)...

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

    定义切点通过 execution 函数来定义切点语法: `execution(访问修饰符 返回类型 方法名 参数 异常)` 表达式示例: * 匹配所有类 public 方法:`execution(public * *(..))` * 匹配指定包下所有方法:`execution(*...

    AOP_execution.zip

    `execution()`是Spring AOP中用于指定方法匹配规则的内置函数,用于定义执行点。 例如,描述中提到的“方法表达式以‘*’号开始”,这是一个典型的通配符用法。`*`在这里代表任何方法名,可以是任意长度,包含任意...

    AspectJ的基本用法

    - `execution(* android.app.Activity.on**(..))` 是切点表达式,`execution`指定了Join Point类型,`* android.app.Activity.on**(..)` 定义了匹配Activity类及其子类的所有`on*`开头的方法。 - `public void ...

    spring_aop例子

    它可以是一个具体的函数调用、一个注解、一个方法签名等。切点表达式用于描述切点。 3. 引入(Introduction):允许向现有类添加新的接口和方法,而无需修改原始类的源代码。 四、Spring AOP配置 在Spring中,可以...

    打印出,入口参数和执行时间--AOP简单应用

    切点是程序执行过程中特定的点,比如某个方法的调用;通知是在这些切点触发时执行的代码,例如记录日志或计算执行时间。Spring框架是Java中广泛使用的AOP实现。 描述中的“NULL”表明没有提供具体实现细节,但我们...

    SpringMVC-Aop demo

    在切面类中定义的通知方法,需要与切点关联。这些方法可以通过`@Before`、`@After`等注解与切入点表达式链接。 4. **SpringMVC集成:** 要在SpringMVC中启用AOP,需要在配置文件中启用AspectJ的自动代理。这可以...

    Spring通过注解实现AOP

    切入点可以是方法签名,也可以是更复杂的表达式,如使用`execution()`、`args()`、`@annotation()`等预定义的切点函数。 3. **@Before**:前置通知,在目标方法执行之前执行。例如,我们可以在方法执行前添加日志...

    Spring.3.x企业应用开发实战(完整版).part2

    7.5 切点函数详解 7.5.1 @annotation() 7.5.2 execution() 7.5.3 args()和@args() 7.5.4 within() 7.5.5 @within()和@target() 7.5.6 target()的this() 7.6 @AspectJ进阶 7.6.1 切点复合运算 ...

    Spring3.x企业应用开发实战(完整版) part1

    7.5 切点函数详解 7.5.1 @annotation() 7.5.2 execution() 7.5.3 args()和@args() 7.5.4 within() 7.5.5 @within()和@target() 7.5.6 target()的this() 7.6 @AspectJ进阶 7.6.1 切点复合运算 ...

    SpringAOP.zip

    6. **切入点表达式(Pointcut Expression)**:这是定义切点的关键,使用预定义的函数和操作符,如`execution()`、`args()`、`@annotation()`等,来精确地指定通知应何时触发。 7. **通知的实现**:学习如何在...

    springaop学习

    - **自定义切点表达式**:`@Pointcut`注解可以定义自定义的切入点表达式,通过`execution()`、`args()`等函数来匹配方法、参数等。 4. **实际应用** - **日志记录**:在方法调用前后插入日志记录代码,便于跟踪和...

    AOP的实现机制.pdf

    这种方式提供了更大的灵活性,可以处理无法通过代理模式解决的场景,例如静态方法或构造函数。 在"AOP的实现机制.pdf"文档中,可能会详细讲解以上概念,并通过实例代码展示如何在Spring框架中配置和使用AOP。Spring...

    Android中AOP的应用实践之过滤重复点击

    切面(Pointcuts)定义了切点的集合,而通知(Advice)则是在匹配的切点上执行的操作,例如在方法执行前后执行的代码。 AspectJ是Java平台上的一个AOP框架,它提供了一种语言扩展,使我们可以在Java代码中直接编写...

Global site tag (gtag.js) - Google Analytics