Spring AOP

栏目: 编程工具 · 发布时间: 6年前

内容简介:@Before: 在方法运行之前@After: 方法运行结束@AfterReturning: 方法正常返回
Spring AOP

写AOP的步骤:

  1. 导包
  • spring AOP的核心包
spring-aop-4.3.18.RELEASE.jar
复制代码
  • AOP的扩展包(导入扩展包后,被切面类不用实现任何接口,也可以被切面)
com.springsource.org.aspectj.weaver-1.7.2.RELEASE.jar
com.springsource.org.aopalliance-1.0.0.jar
com.springsource.net.sf.cglib-2.2.0.jar
复制代码
  • 所有jar包都可以在Maven Repository中找到
<aop:aspectj-autoproxy/>
@Aspect

@Before: 在方法运行之前

@After: 方法运行结束

@AfterReturning: 方法正常返回

@AfterThrowing: 方法出现异常

注解参数传入一个切入表达式:"execution()"

切入点表达式:对指定的方法进行拦截,并且生成代理表达式。

  1. 拦截所有public方法
<aop:pointcut expression="execution(public * *(..))" id="pt"/>
复制代码
  1. 拦截所有save开头的方法
<aop:pointcut expression="execution(* save*(..))" id="pt"/>```
4. 拦截指定类的指定方法

```xml
<aop:pointcut expression="execution(public * 包名.类名.方法名(..))" id="pt"/>
复制代码
  1. 拦截指定类的所有方法
<aop:pointcut expression="execution(* 包名.类名.*(..))" id="pt"/>
复制代码
  1. 拦截指定包,以及其自包下所有类的所有方法
<aop:pointcut expression="execution(* cn..*.*(..))" id="pt"/>
复制代码
  1. 多个表达式
<aop:pointcut expression="execution(* 包名.类名.方法名()) || execution(* 包名.类名(不同的类).方法名())" id="pt"/>
<aop:pointcut expression="execution(* 包名.类名.方法名()) or execution(* 包名.类名(不同的类).方法名())" id="pt"/>
复制代码
  1. 取非值
<aop:pointcut expression="!execution(* 包名.类名.方法名())" id="pt"/>
<aop:pointcut expression=" not execution(* 包名.类名.方法名())" id="pt"/>
复制代码

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

阿里传

阿里传

波特·埃里斯曼 / 张光磊、吕靖纬、崔玉开 / 中信出版社 / 2015-9-15 / CNY 49.00

你只知道阿里巴巴故事的中国部分,而这本书会完整呈现故事的全部。 波特•埃里斯曼是阿里巴巴创业时期为数不多的外国高管。他于2000~2008年在阿里巴巴担任副总裁,这本书记录了他在阿里巴巴8年的时间里的创业故事、商业经验以及在阿里巴巴和马云、蔡崇信、关明生等阿里巴巴早期团队并肩奋战的故事。 在波特眼中,阿里巴巴的成功经验和模式是可以复制的,阿里巴巴曾经犯过的错误,走过的弯路,我们也可以绕......一起来看看 《阿里传》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

随机密码生成器
随机密码生成器

多种字符组合密码

MD5 加密
MD5 加密

MD5 加密工具