Spring AOP 和 AspectJ AOP 有什么区别?

提问者:帅平 问题分类:面试刷题

Spring AOP 和 AspectJ AOP 有什么区别?

1 个回答
Rae
Rae 管理员

Spring AOP 是运行时增强,是通过「动态代理实现」的

AspectJ AOP 是编译时增强,需要特殊的编译器才可以完成,是通过「修改代码来实现」的,支持「三种织入方式」

「编译时织入」:就是在编译字节码的时候织入相关代理类
「编译后织入」:编译完初始类后发现需要 AOP 增强,然后织入相关代码
「类加载时织入」:指在加载器加载类的时候织入

两者主要的区别是:

发布于:1个月前 (10-20)
我来回答