Spring切点表达式常用写法

任意公共方法的执行:

execution(public * *(..))

任何一个名字以 set 开始的方法的执行:

execution(* set*(..))

AccountService 接口定义的任意方法的执行:

execution(* com.xyz.service.AccountService.*(..))

在 service 包中定义的任意方法的执行:

execution(* com.xyz.service.*.*(..))

在 service 包或其子包中定义的任意方法的执行:

execution(* com.xyz.service..*.*(..))

在 service 包中的任意连接点(在 Spring AOP 中只是方法执行):

within(com.xyz.service.*)

在 service 包或其子包中的任意连接点(在 Spring AOP 中只是方法执行):

within(com.xyz.service..*)

实现 AccountService 接口的代理对象的任意连接点 (在 Spring AOP 中只是方法执行):

this(com.xyz.service.AccountService)

实现 AccountService 接口的目标对象的任意连接点 (在 Spring AOP 中只是方法执行):

target(com.xyz.service.AccountService)

任何一个只接受一个参数,并且运行时所传入的参数是 Serializable 接口的连接点(在 Spring AOP 中只是方法执行):

args(java.io.Serializable)

请注意在例子中给出的切入点不同于execution(* *(Java.io.Serializable)),args 版本只有在动态运行时候传入参数是 Serializable 时才匹配,而 execution 版本在方法签名中声明只有一个 Serializable 类型的参数时候匹配。

目标对象中有一个 @Transactional 注解的任意连接点 (在 Spring AOP 中只是方法执行):

@target(org.springframework.transaction.annotation.Transactional)

任何一个目标对象声明的类型有一个 @Transactional 注解的连接点 (在 Spring AOP 中只是方法执行):

@within(org.springframework.transaction.annotation.Transactional)

任何一个执行的方法有一个 @Transactional 注解的连接点 (在 Spring AOP 中只是方法执行):

@annotation(org.springframework.transaction.annotation.Transactional)

任何一个只接受一个参数,并且运行时所传入的参数类型具有 @Classified 注解的连接点(在 Spring AOP 中只是方法执行):

@args(com.xyz.security.Classified)

任何一个在名为 tradeService 的 Spring bean 之上的连接点 (在 Spring AOP 中只是方法执行):

bean(tradeService)

任何一个在名字匹配通配符表达式*Service的 Spring bean 之上的连接点 (在 Spring AOP 中只是方法执行):

bean(*Service)

其中,thistagartargs@target@with@annotation@args在绑定表单中更加常用。

 

转载声明:本文出自“熔岩”博客,Spring切入点表达式常用写法

转载于:https://www.cnblogs.com/xh_chiang/p/6817773.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值