Spring AOP是属于运行时增强,而AspectJ是编译时增强。Spring AOP基于代理
(Proxying),而AspectJ基于字节码操作(Bytecode Manipulation)。
Spring AOP已经集成了AspectJ,AspectJ应该算得上是Java生态系统中最完整的AOP框架
了。AspectJ相比于Spring AOP功能更加强大,但是Spring AOP相对来说更简单。
如果我们的切面比较少,那么两者性能差异不大。但是,当切面太多的话,最好选择
AspectJ,它比SpringAOP快很多。
《面试官:什么是AOP?Spring AOP和AspectJ的区别是什么?》:https://www.cnblogs.com/chaoesha/p/13037368.html
《springAOP 和 aspectJ 有什么区别》:https://blog.youkuaiyun.com/u013452337/article/details/100981702
SpringAOP与AspectJ都是面向切面编程的实现,但SpringAOP基于代理,适合简单切面,而AspectJ通过字节码操作提供更强功能。在切面数量较少时,两者性能差异不大;若切面过多,AspectJ性能更优。SpringAOP已集成AspectJ,提供了更多灵活性。
262

被折叠的 条评论
为什么被折叠?



