小编典典

Spring AOP 与 AspectJ

all

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

谁能强调在 Spring 应用程序中使用 Spring AOP 与 AspectJ 的各种优缺点?


阅读 131

收藏
2022-07-29

共1个答案

小编典典

Spring-AOP 优点

  • 它比 AspectJ 更易于使用,因为您不必使用 LTW(加载时编织)或 AspectJ 编译器。

  • 它使用代理模式和装饰器模式

Spring-AOP 缺点

  • 这是基于代理的 AOP,所以基本上你只能使用方法执行连接点。
  • 在同一个类中调用另一个方法时不应用方面。
  • 可能会有一点运行时开销。
  • Spring-AOP 不能向不是由 Spring 工厂创建的任何内容添加方面

AspectJ 优点

  • 这支持所有连接点。这意味着你可以做任何事情。
  • 运行时开销比 Spring AOP 少。

方面的缺点

  • 当心。检查您的方面是否仅编织到您想要编织的内容。
  • 您需要使用 AspectJ 编译器进行额外的构建过程,或者必须设置 LTW(加载时编织)
2022-07-29