Java-Spring复习-AOP
1. AOP 和 相关术语
AOP(Aspect Oriented Programming,即 面向切面编程)
- 在外部编写代码而不侵入原始代码层,使其增加额外功能
- 应用场景:权限、缓存、内容传递、错误处理、懒加载、调试、记录跟踪、性能优化、持久化、资源池、同步、事务、日志
AOP 相关术语
- 关注点:根据功能划分系统的一部分
- 横切关注点:系统中每个业务都实现的功能,即这个关注点横切了整个系统
- 连接点:Spring中指被拦截到的方法
- 切面:是一个类,里面定义了切点和通知
- 切点:带有通知的连接点,利用切入点表达式实现切入
- 通知:切点上执行的增强处理
雷神的图
2. 通知的类型
- Before:在目标方法被调用之前做增强处理
- AfterReturning:在目标方法完成后增强
- AfterThrowing:处理执行过程中未处理的异常
- After:在目标方法完成之后做增强,无论目标方法是否成功完成
- Around:在目标方法完成前后做增强处理,和动态代理写法一样
基于注解的Spring AOP使用方法,参见
Spring AOP教程