Spring 中AOP及前后置增强案例
1、AOP 面向切面编程 面向切面编程的本质:面向切面编程,指扩展功能不修改源代码,将功能代码从业务逻辑代码中分离出来。 1主要功能:日志记录,性能统计,安全控制,事务处理,异常处理等等。 2主要意图:将日志记录,性能统计,安全控制,事务处理,异常处理等代码从业务逻辑代码中划分出来,通过对这些行为的分离,我们希望可以将它们独立到非指导业务逻辑的方法中,进而改变这些行为的时候不影响业务逻辑的代码。 2、AOP 原理 将复杂的需求分解出不同方面,将散布在系统中的公共功能集中解决 采用代理机制组装起来运行,在不改变原程序的基础上对代码段进行增强处理,增加新的功能。 3、AOP相关术语 1 增强处理类型 前置增强 :目标方法调用前 后置增强 :目标方法调用后 环绕增强 :前置+后置 异常抛出增强 :只有在目标方法抛出异常时才执行 最终增强 :finally 2 AOP的设计单元 术语名称 描述 切面(Aspect) 横切关注点而被模块化的类,称之为切面 通知(Advice) 切面要完成的工作,具体指代切面类中的某个方法 连接点(Join Point) 一个应用在执行的过程中能被插入切面的一个点 切点(Point Cut) 通配表达式,可以匹配一个或多个连接点 织入(Weaving) 将切面应用到目标对象的代理对象的过程 4、AOP案例 实现增强 (1)导入依赖