一、
1.什么是AOP及实现方式
AOP:Aspect Oriented Programming的缩写,就是面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的
一种技术。
主要的功能是:日志记录,性能统计,安全控制,事物处理,异常处理等等
AOP实现方式
预编译
-AspectJ
运行期动态代理(JDK动态代理、CGLib动态代理)
SpringAOP、JbossAOP
2.AOP基本概念
Spring AOP_第1张图片
Spring AOP_第2张图片
3.SPring中的AOP
Spring AOP的用途
Spring AOP_第3张图片
Spring 的AOP实现
Spring AOP_第4张图片
有接口和无接口的Spring AOP实现区别
Spring AOP_第5张图片
4.Schema-based AOP
4.1 配置切面 aspect
Spring AOP_第6张图片
Spring AOP_第7张图片
切面aspect 类是对物体特征的抽象,切面就是对横切关注点的抽象
这里就是植入需要进行执行的代码
Spring AOP_第8张图片
Spring AOP_第9张图片
4.2配置切入点
这些是spring的 aop 和aspect 都支持的
Spring AOP_第10张图片
以下只支持spring 自己的
Spring AOP_第11张图片
Spring AOP_第12张图片
Spring AOP_第13张图片
该包下所有类的所有方法
Spring AOP_第14张图片
该类下的指定方法 表达式 下图表达式有误
execution( com.etoak.aop.TestPointCut.point(..))
execution(
com.etoak.aop.TestPointCut.*(..))
Spring AOP_第15张图片
一个完整的aop congif配置
Spring AOP_第16张图片
我的代码配置如下
该包下的 以 Biz结尾的类下的所有方法
Spring AOP_第17张图片
切面类
Spring AOP_第18张图片
切点 就是切入对象
Spring AOP_第19张图片
测试类
Spring AOP_第20张图片

after afterReturning 根据xml配置先后 输出 但是在before之后
after thorw 切点不能正常返回 出现异常就会执行throw 正常执行就会执行after return

如果切点方法正常执行 after return 和after 会根据在 xml先后配置顺序执行
after(finally)最终执行 有无异常都会执行这个通知
Spring AOP_第21张图片
around 环绕通知配置文件 执行顺序也是根据在 before 和 after 先后顺序执行
Spring AOP_第22张图片
Spring AOP_第23张图片
环绕切面类代码
Spring AOP_第24张图片
环绕通知带参数的配置文件
Spring AOP_第25张图片
Spring AOP

带注解的 通知
Spring AOP_第26张图片
Spring AOP_第27张图片
Spring AOP_第28张图片
Spring AOP_第29张图片