首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Spring AOP vs AspectJ

Spring AOP vs AspectJ
EN

Stack Overflow用户
提问于 2009-10-22 19:23:39
回答 8查看 82.1K关注 0票数 183

我的印象是Spring AOP最适合用于特定于应用程序的任务,如安全性、日志记录、事务等,因为它使用自定义的Java5注释作为框架。然而,在设计模式方面,AspectJ似乎更加友好。

有人能强调在Spring应用程序中使用Spring AOP和AspectJ的各种优缺点吗?

EN

Stack Overflow用户

发布于 2018-01-26 05:47:31

重要的是要考虑你的方面是否是任务关键型的,以及你的代码被部署在哪里。Spring AOP将意味着您依赖于加载时编织。这可能会失败,在我的经验中,这意味着可能存在记录的错误,但不会阻止应用程序在没有方面代码的情况下运行[我要补充说明的是,可以以一种不是这种情况的方式配置它;但我个人没有意识到这一点]。编译时编织避免了这一点。

此外,如果您将AspectJ与aspectj-maven-plugin结合使用,那么您就能够在CI环境中针对您的方面运行单元测试,并确信构建的工件已经过测试并正确编织。虽然您肯定可以编写Spring驱动的单元测试,但您仍然不能保证在LTW失败的情况下部署的代码将是经过测试的代码。

另一个注意事项是,您是否在能够直接监控服务器/应用程序启动成功或失败的环境中托管应用程序,或者是否在不受您监管的环境中部署应用程序,例如,在客户端托管的环境中。同样,这将为编译时间编织指明方向。

五年前,我更喜欢Spring配置的AOP,原因很简单,因为它更容易使用,而且不太可能消耗我的IDE。然而,随着计算能力和可用内存的增加,这已经不是什么问题了,基于我上面概述的原因,带有aspectj-maven-plugin的CTW已经成为我工作环境中更好的选择。

票数 0
EN
查看全部 8 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1606559

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档