Spring AOP

AOP :面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术

主要功能:日志记录、性能统计、安全控制、事物处理、异常处理……


实现方式:

预编译 - AspectJ

运行期动态代理(JDK动态代理、CGLib动态代理) - SpringAOP、JbossAOP


相关概念:切面(Aspect)、连接点(Joinpoint)、通知(Advice)、切入点(Pointcut)、引入(Introduction)、目标对象(Target Object)、AOP代理(AOP Proxy)、织入(Weaving)


Advice:前置通知(Before advice)、返回后通知(After returning advice)、抛出异常后通知(After throwing advice)、后通知(After advice)、环绕通知(Around advice)


SpringAOP不是为了提供完整的AOP实现,而是提供一种AOP实现和Spring IOC容器之间的整合

SpringAOP不会与AspectJ竞争


有接口的Spring AOP默认使用标准的JavaSE动态代理

无接口的Spring AOP 可以使用CGLib代理

--------------------------------------------------------------------------------------------------------


 
  









你可能感兴趣的:(AOP)