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)
其中,this
、tagart
、args
、@target
、@with
、@annotation
和@args
在绑定表单中更加常用。
转载声明:本文出自“熔岩”博客,Spring切入点表达式常用写法。
转载于:https://www.cnblogs.com/xh_chiang/p/6817773.html
Spring切点表达式常用写法相关推荐
- Spring切入点表达式常用写法
Spring切入点表达式常用写法 自从使用AspectJ风格切面配置,使得Spring的切面配置大大简化,但是AspectJ是另外一个开源项目,其规则表达式的语法也稍稍有些怪异. 下面给出一些常见示例 ...
- spring aop切点表达式常见写法
- .NET笔记系列:LAMBDA表达式常用写法
这里主要是将数据库中的常用操作用LAMBDA表达式重新表示了下,用法不多,但相对较常用,等有时间了还会扩展,并将查询语句及LINQ到时也一并重新整理下: 1.select语句:books.Select ...
- Spring之AOP的切点、通知、切点表达式以及知识要点
1.2.1.需要编写的内容 编写核心业务代码(目标类的目标方法) 编写切面类,切面类中有通知(增强功能方法) 在配置文件中,配置织入关系,即将哪些通知与哪些连接点进行结合 1.2.2.AOP 技术实现 ...
- Spring学习之AOP的切点表达式详解
1.背景知识 在Sping中使用AOP的主要工作是配置织入关系,使用<aop:config>标签代表这一段是织入关系的配置 首先,用<aop:aspect>标签声明一个切面,这 ...
- spring-aop常用切点表达式
AOP是spring的最重要模块之一,关于AOP的原理,主要就是基于动态代理,可以查看官网Understanding AOP Proxies,本节内容不去深究AOP原理,仅仅列出在spring框架中编 ...
- Spring Aop 切点表达式
在Spring AOP 中,通常需要借助AspectJ 的切点表达式语言来定义切点.重要的是Spring 中仅支持AspectJ切点指示器的一个子集. Spring 支持的AspectJ的切点指示器 ...
- 第15章-Spring AOP切点表达式(Pointcut)详解
文章目录 一.概述 二.切点表达式配置 1. 内置配置 2. 注解配置 3. 公共配置 二.切点表达式类型 **`execution`** **`within`** **`this`** **`tar ...
- Spring AOP切点表达式详解
1. 简介 面向对象编程,也称为OOP(即Object Oriented Programming)最大的优点在于能够将业务模块进行封装,从而达到功能复用的目的.通过面向对象编程,不同的模板可以相互组装 ...
最新文章
- [USACO08NOV]lites
- C语言的双向链表头插法和尾插法,指定节点删除
- 你应该知道的青否小程序第三方平台
- 数据中心的PUE 最低可至1.15,浸没式液冷技术是关键
- (转)电脑程序员才能看懂的笑话
- WebLogic下WAR方式部署获取文件路径问题
- [导入]javascript身份证号码验证函数支持带x
- mysql存储引擎的区别_Mysql的两种存储引擎以及区别
- C++STL笔记(四):vector详解
- 一步一步写算法(之挑选最大的n个数)
- Linux的目录ls命令
- C++/CLI的简单介绍。from维基百科们,http://zh.wikipedia.org/zh-cn/C%2B%2B/CLI
- latex 图片整行居中 /centering无效
- java 格雷码_在 Java 中使用递归的方式将二进制转换为等效的格雷码
- 《学习openCV》例程解析 ex_9_3(codeBook模型实现背景减除)
- 屏幕录制专家linux版,Linux平台好用的十款屏幕录制工具
- ESC云服务器搭建自己的图床
- Android Studio 中 为模拟器添加图片和图片路径(图文级教程)
- Verilog训练笔记(1)——非重叠序列检测
- java俄罗斯方块视频_[VIP视频]【A0233】java面对对象编程-俄罗斯方块视频教程 高清视频 百度云 百度网...
热门文章
- 安卓data./data没数据的时候
- php限定时间内同一ip只能访问一次
- 【转】JNI(Java Native Interface)的简介
- 挨踢人生路--记我的10年18家工作经历 - 第16家公司,英国公司――第一次当经理...
- 用frontpage制作网页,字体大小用PT做单位好还是用PX做单位好?
- mysql数据库设计实践_MYSQL教程分享20个数据库设计的最佳实践
- Spring4新特性——集成Bean Validation 1.1(JSR-349)到SpringMVC
- Go语言中奇怪的if语句
- 如何获得Java中泛型类的类型参数?
- 微服务架构可视化平台实践