AOP
- AOP的定义:AOP,Aspect Oriented Programming的缩写,意为面向切面编程,是通过预编译或运行期动态代理实现程序功能处理的统一维护的一种技术
- 实现方式
- 预编译
- AspectJ
- 运行期动态代理(JDK动态代理、CGLib动态代理)
- SpringAOP
- JbossAOP
- 预编译
- 运用方面:日志记录;性能统计;安全控制;事务处理;异常处理
- 相关概念
- 切面(Aspect)
- 连接点(JoinPoint):切面执行的动作(通知)执行的一个时机
- 通知(Advice):在某个特定切入点上执行的动作
- 前置通知(Before Advice):如果切面动作出现异常,前置通知动作不执行
- 后置通知(After Running Advice)
- 抛出异常通知(After Throwing Advice)
- 后通知(After Ending Advice):无论切面是否出现异常,后通知动作正常执行
- 环绕通知(Around Advice):在环绕通知方法内设置切点,包括前置、后置、和切面动作。
- 切入点(PointCut):匹配连接点的断言,在AOP中通知和一个切入点表达式关联
- 织入(Weaving):把切面连接到到其他的应用程序上类型或者对象上,并创建一个被通知的对象。
- 编译时织入
- 类加载时织入
- 运行时织入
- Spring中的AOP
- Schema-based AOP
- Spring AOP API
- AspectJ
- Next