spring aop Pointcut execution规则

任意公共方法的执行:
execution(public * *(..))
##public可以省略, 第一个* 代表方法的任意返回值 第二个参数代表任意包+类+方法 (..)任意参数

任何一个以“set”开始的方法的执行:
execution(* set*(..))

UserService接口的任意方法:
execution(* com.coffee.service.UserService.*(..))

定义在com.coffee.service包里的任意方法的执行:
execution(* com.coffee.service.*.*(..))
#第一个 .* 代表任意类, 第二个 .* 代表人以方法

定义在service包和所有子包里的任意类的任意方法的执行:
execution(* com.coffee.service..*.*(..))
# ..* 代表任意包或者子包

定义在com.coffee包和所有子包里的UserService类的任意方法的执行:
execution(* com.coffee..UserService.*(..))")
--------------------- 
作者:-droidcoffee- 
来源:CSDN 
原文:https://blog.csdn.net/id19870510/article/details/79163639 
版权声明:本文为博主原创文章,转载请附上博文链接!

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一些 Spring AOP 常见问题: 1. 什么是 Spring AOPSpring AOPSpring 框架提供的一种基于代理的 AOP(面向切面编程)实现方式。它允许你通过配置来定义横切关注点,并在执行方法时自动将这些关注点织入到目标对象中。 2. Spring AOP 支持哪些 AOP 类型? Spring AOP 支持五种 AOP 类型:前置通知(Before Advice)、后置通知(After Advice)、环绕通知(Around Advice)、异常通知(After Throwing Advice)和最终通知(After Finally Advice)。 3. Spring AOP 和 AspectJ 有什么区别? Spring AOP 是基于代理的 AOP 实现方式,而 AspectJ 是基于编译时或运行时字节码操纵的 AOP 实现方式。Spring AOP 的功能相对比较简单,适用于大多数场景,而 AspectJ 更加强大,但也更加复杂。 4. Spring AOP 的代理是如何实现的? Spring AOP 采用了 JDK 动态代理和 CGLIB 代理两种方式实现代理。当目标对象实现了接口时,Spring AOP 会使用 JDK 动态代理,否则会使用 CGLIB 代理。 5. Spring AOP 的切入点(Pointcut)有哪些表达式? Spring AOP 的切入点表达式支持通配符和正则表达式,包括以下几种: - execution:匹配方法执行的连接点。 - within:匹配指定类型内的方法执行。 - this:匹配当前代理对象类型的执行方法。 - target:匹配当前目标对象类型的执行方法。 - args:匹配参数类型匹配的执行方法。 - @annotation:匹配特定注解标注的方法执行。 以上是一些 Spring AOP 常见问题,希望能对你有所帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值