内容简介:@Before: 在方法运行之前@After: 方法运行结束@AfterReturning: 方法正常返回
写AOP的步骤:
- 导包
- 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()"
切入点表达式:对指定的方法进行拦截,并且生成代理表达式。
- 拦截所有public方法
<aop:pointcut expression="execution(public * *(..))" id="pt"/> 复制代码
- 拦截所有save开头的方法
<aop:pointcut expression="execution(* save*(..))" id="pt"/>``` 4. 拦截指定类的指定方法 ```xml <aop:pointcut expression="execution(public * 包名.类名.方法名(..))" id="pt"/> 复制代码
- 拦截指定类的所有方法
<aop:pointcut expression="execution(* 包名.类名.*(..))" id="pt"/> 复制代码
- 拦截指定包,以及其自包下所有类的所有方法
<aop:pointcut expression="execution(* cn..*.*(..))" id="pt"/> 复制代码
- 多个表达式
<aop:pointcut expression="execution(* 包名.类名.方法名()) || execution(* 包名.类名(不同的类).方法名())" id="pt"/> <aop:pointcut expression="execution(* 包名.类名.方法名()) or execution(* 包名.类名(不同的类).方法名())" id="pt"/> 复制代码
- 取非值
<aop:pointcut expression="!execution(* 包名.类名.方法名())" id="pt"/> <aop:pointcut expression=" not execution(* 包名.类名.方法名())" id="pt"/> 复制代码
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- 【spring aop】第6篇:spring aop 实战
- Spring AOP(一):AOP 基本概念
- (FS计划)AOP和Spring中AOP的简单介绍
- Spring AOP
- Spring AOP
- Spring AOP 基础
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
解密硅谷
[美]米歇尔 E. 梅西纳(Michelle E. Messina)、乔纳森 C. 贝尔(Jonathan C. Baer) / 李俊、李雪 / 机械工业出版社 / 2018-12 / 50.00
《解密硅谷》由身处硅谷最中心的连续创业者米歇尔·梅西纳和资深的投资人乔纳森·贝尔联合撰写,二人如庖丁解牛一般为读者深入剖析硅谷成功的原因:从硅谷的创新机制、创业生态、投资领域的潜规则、秘而不宣的价值观等角度,让阅读本书的人能够在最短的时间内,拥有像硅谷人一样的商业头脑,从而快速发现机遇,顺利地躲过创业的坑,熬过创业生死挑战中的劫数,带领初创公司顺利地活下去,并实现快速增长。 如果初创公司能够......一起来看看 《解密硅谷》 这本书的介绍吧!