Spring:AOP, 面向切面编程,JDK的动态代理,CGLIB代理,Spring的AOP技术(底层就是JDK动态代理和CGLIB代理技术)
AOP 概述 什么是 AOP, 面向切面编程 AOP 为 Aspect Oriented Programming 的缩写 , 意为:面向 切面 编程 , 通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术 . AOP 是 OOP 的延续 , 是函数式编程的一种衍生范型 . 利用 AOP 可以对业务逻辑的各个部分进行隔离 , 从而使得业务逻辑各部分之间的耦合度降低 , 提高程序的可重用性 , 同时提高了开发的效率 . - 传统开发模型 : 纵向的编程 . 面向切面编程 : 纵横配合的编程 . AOP 的作用及优势 作用: 在程序运行期间, 不修改任何相关源码对已有方法进行增强。 优势: 减少重复代码 、提高开发效率、维护方便 AOP 的实现方式 使用动态代理模式来实现 可能通过上面的介绍,我们还是没有一个清晰的认识。没关系,我们看看下面的具体应用。 //.模拟事务管理器 public class TransactionManagerHandler { public void begin() { System.out.println("开启事务"); } public void commit() { System.out.println("提交事务"); } public void rollback() { System.out.println("回滚事务"); }