Aspect 切点表达式(xml形式,非注解形式的)
2014-04-01 19:53
435 查看
<aop:pointcut expression="切点表达式" id="aspect"/>
Aspect 切点表达式:
execution: 匹配指定的方法
execution(void perform()) 匹配项目下所有该方法
execution(void first.Singer.perform()) 匹配具体到某个类的该方法
execution(* first.Artist.perform()) 不考虑返回值类型
execution(* first.Artist.perform(..)) 不考虑返回值类型和参数列表
execution(* first.Aritst.perform(*,*)) 参数必须是两个
execution(* first.Artist.perform(..,java.lang.String))
execution(* find*(..)) 所有方法名符合findXxx 的方法
execution(* com.tarena.service.StoreService.*(..)) 该类中所有方法
execution(* com.tarena.service.*.*(..)) 该包中所有类的所有方法
execution(* com.tarena..*.*(..)) 该包及其子包中所有类的所有方法
within: 匹配类内的所有方法(必须是实现类,不能是接口)
在service包中的任意连接点(在Spring AOP中只是方法执行):
在service包或其子包中的任意连接点(在Spring AOP中只是方法执行):
实现了
'this'在绑定表单中更加常用:- 请参见后面的通知一节中了解如何使得代理对象在通知体内可用。
实现
'target'在绑定表单中更加常用:- 请参见后面的通知一节中了解如何使得目标对象在通知体内可用。
任何一个只接受一个参数,并且运行时所传入的参数是
'args'在绑定表单中更加常用:。
请注意在例子中给出的切入点不同于
Aspect 切点表达式:
execution: 匹配指定的方法
execution(void perform()) 匹配项目下所有该方法
execution(void first.Singer.perform()) 匹配具体到某个类的该方法
execution(* first.Artist.perform()) 不考虑返回值类型
execution(* first.Artist.perform(..)) 不考虑返回值类型和参数列表
execution(* first.Aritst.perform(*,*)) 参数必须是两个
execution(* first.Artist.perform(..,java.lang.String))
execution(* find*(..)) 所有方法名符合findXxx 的方法
execution(* com.tarena.service.StoreService.*(..)) 该类中所有方法
execution(* com.tarena.service.*.*(..)) 该包中所有类的所有方法
execution(* com.tarena..*.*(..)) 该包及其子包中所有类的所有方法
within: 匹配类内的所有方法(必须是实现类,不能是接口)
在service包中的任意连接点(在Spring AOP中只是方法执行):
within(com.xyz.service.*)
在service包或其子包中的任意连接点(在Spring AOP中只是方法执行):
within(com.xyz.service..*)
实现了
AccountService接口的代理对象的任意连接点 (在Spring AOP中只是方法执行):
this(com.xyz.service.AccountService)
'this'在绑定表单中更加常用:- 请参见后面的通知一节中了解如何使得代理对象在通知体内可用。
实现
AccountService接口的目标对象的任意连接点 (在Spring AOP中只是方法执行):
target(com.xyz.service.AccountService)
'target'在绑定表单中更加常用:- 请参见后面的通知一节中了解如何使得目标对象在通知体内可用。
任何一个只接受一个参数,并且运行时所传入的参数是
Serializable接口的连接点(在Spring AOP中只是方法执行)
args(java.io.Serializable)
'args'在绑定表单中更加常用:。
请注意在例子中给出的切入点不同于
execution(* *(java.io.Serializable)): args版本只有在动态运行时候传入参数是Serializable时才匹配,而execution版本在方法签名中声明只有一个
Serializable类型的参数时候匹配。
相关文章推荐
- hibernate Annotation 注解形式 实例 事务 hibernate.cfg.xml
- SpringAOP切点配置(注解与xml配置)
- Spring4深入理解IOC&DI04----Bean配置方式(全类名,工厂方法,FactoryBean),配置形式(基于XML和注解),泛型依赖注入
- 用小说的形式讲解Spring(3) —— xml、注解和Java Config到底选哪个
- hibernate Annotation 注解形式 实例 事务 hibernate.cfg.xml
- aspect 切点表达式写法
- Spring中bean的初始化和销毁之前的方法XML和注解的两种形式
- @Aspect注解形式实现AOP实例
- spring切点切面aop——xml非注解
- Spring中bean的初始化和销毁之前的方法XML和注解的两种形式
- Mybatis实现in查询(注解形式和xml形式)
- spring: @Pointcut给重复的注解/切点定义表达式
- 第37天(就业班) 静态代理与动态代理、oglib代理、手动实现aop编程、注解实现AOP编程、aop相关的几个注解、xml实现aop、切入点表达式、spring对aop模式
- AOP之基于@Aspect 注解与Schema(xml)区别
- Spring定时器的使用(注解+xml形式)
- 用小说的形式讲解Spring(3) —— xml、注解和Java Config到底选哪个
- spring切点切面aop——xml非注解
- SpringBoot(四):与dobbo的整合(注解形式与xml形式)
- [置顶] spring切点切面aop——xml非注解
- SpringBoot(四):与dobbo的整合(注解形式与xml形式)