SpringBoot 整合 AOP

一、前言

AOP(Aspect Oriented Programming, 面向切面编程),是 Spring 的核心思想之一,即纵向重复,横向抽取,它在 Spring 中应用广泛,例如 拦截器、日志、事务等等,在 SpringBoot 中使用 AOP 之前,我们先复习下 AOP 的理论知识。

JDK 动态代理与 Cglib 动态代理

一、前言

AOP(Aspect Oriented Programming),即面向切面编程,最主要的思想就是纵向重复,横向抽取。要想实现 AOP,其底层实现是使用了动态代理技术,在 Spring 中,动态代理技术分为传统的 JDK 动态代理Cglib 动态代理。这两种代理机制区别是:

  • JDK 动态代理:针对实现了接口的类进行代理

  • Cglib 动态代理:针对没有实现接口的类进行代理,底层是字节码增强技术,生成当前类的子类对象

Java