Spring Aop 前置通知方法,后置通知方法

56 阅读2分钟

AOP(Aspect Oriented Programming)也就是面向切面编程的技术。AOP基于IoC基础,是对OOP的有益补充。AOP是代码之间解耦的一 种实现。可以这样理解,面向对象编程是从静态角度考虑程序结构,面向切面编程是从动态角度考虑程序运行过程。AOP将应用系统分为两部分: (1)核心业务逻辑(Core Business Concerns)。 (2)横向的通用逻辑,也就是所谓的切面(Crosscutting Enterprise Concerns)。 例如,所有大中型应用都要涉及的持久化管理(Persistent)、事务管理(Transaction Management)、安全管理(Security)、日志管理(Logging)和调试管理(Debugging)等。

AOP的底层实现原理实际是Java语言的动态代理机制。AOP 代理是由AOP框架动态生成一个对象,该对象可作为目标对象使用。AOP代理包含了目标对象的全部方法,但代理中的方法与目标对象的方法存在差异: AOP方法在特定切入点添加了增强处理,并回调了目标对象的方法。Spring 的AOP通常和IoC配合使用,需要程序员参与的有3个部分: (1)定义普通业务组件。 (2)定义切入点。一个切入点可以横切多个业务组件。 (3)定义增强处理。增强处理就是在AOP框架为普通业务组件织入的处理动作。 Spring有如下两种方式来定义切入点和增强处理: (1)annotation 配置方式。使用@Aspect、 @Pointcut 等Annotation标注切入点和增强处理。 (2)xml 配置方式。使用xml配置文件定义切入点和增强处理。

①AOP的前置通知方法 、后置通知方法 、环绕通知方法 首先导入相关的包:

(1)定义一个java文件来使用AOP技术。

image.png (2)在app.xml文件做相关bean配置(部分代码)

image.png (3)简单测试

image.png