回答思路
- 介绍什么是AOP,以及Spring AOP在其中扮演的角色;
- 动态代理机制结束;
- 术语介绍;
- AOP的实现过程:包括术语介绍,Spring AOP的工作流程中各个注解作用和执行顺序;
- AOP的实际应用。
一、什么是AOP
Spring AOP是面向切面编程的一种实现,它允许开发者将横切关注点(如日志、事务管理等)与业务逻辑分离,从而提高代码的模块化和可维护性。在底层,Spring AOP主要通过Java的动态代理机制实现,对于实现了接口的类,它使用JDK动态代理;对于没有实现接口的类,则使用CGLIB代理。
二、两种代理方式
根据目标对象是否实现接口,Spring AOP 使用两种不同的代理方式:JDK 动态代理和 CGLIB 动态代理。
- JDK动态代理:当目标对象实现了接口时,Spring AOP会使用JDK动态代理。JDK动态代理通过反射机制,利用
java.lang.reflect.Proxy
类和