前言
AOP是Spring中的核心功能之一,使用AOP,可以让关注点代码与业务代码分离,并且动态地添加和删除在切面上的逻辑而不影响原来的执行代码,从而可以在不修改源代码的情况下,实现对功能的增强。
AOP的应用场景很多,日志记录、性能监控、事务管理等都可以通过AOP去实现。
AOP的原理就是动态代理,在 Spring 中,存在两种实现机制, JDK 动态代理以及 CGLIB 动态代理。
在Spring Boot中,AOP可以通过**@EnableAspectJAutoProxy**注解开启,那该注解是怎么起作用的呢,代理对象又是如何被创建的呢?