AOP原理相关问题

总结摘要
总结AOP原理相关知识点可能提的问题

AOP原理相关问题

基础概念

什么是 AOP(面向切面编程)?它的应用场景有哪些?(日志、事务、权限等)

Spring AOP 和 AspectJ 的区别?

什么是连接点(Join Point)、切点(Pointcut)、通知(Advice)、切面(Aspect)?

Spring 支持哪些类型的通知(Before、After、Around 等)?执行顺序是怎样的?

源码原理

Spring AOP 的底层实现原理是什么?(JDK 动态代理 vs CGLIB)

JDK 动态代理和 CGLIB 的区别?各自的使用场景和限制?

Spring 在什么情况下使用 JDK 动态代理,什么情况下使用 CGLIB?

@Transactional 注解的底层原理是什么?Spring 事务是如何通过 AOP 实现的?

如果一个类内部方法调用另一个带 @Transactional 的方法,事务会生效吗?为什么?如何解决?