春季 AOP vs AspectJ
2022-08-31 06:35:08
我的印象是,Spring AOP最适合用于特定于应用程序的任务,例如安全性,日志记录,事务等,因为它使用自定义Java5注释作为框架。然而,AspectJ似乎在设计模式方面更友好。
任何人都可以强调在Spring应用程序中使用Spring AOP与AspectJ的各种优缺点吗?
我的印象是,Spring AOP最适合用于特定于应用程序的任务,例如安全性,日志记录,事务等,因为它使用自定义Java5注释作为框架。然而,AspectJ似乎在设计模式方面更友好。
任何人都可以强调在Spring应用程序中使用Spring AOP与AspectJ的各种优缺点吗?
弹簧AOP优点
它比AspectJ更简单,因为您不必使用LTW(加载时编织)或AspectJ编译器。
它使用代理模式和装饰器模式
弹簧AOP缺点
AspectJ Pros
AspectJ 缺点
另一个注意事项:如果高负载下的性能很重要,您将需要AspectJ,它比Spring AOP快9-35倍。10ns与355ns可能听起来不多,但我见过人们使用很多方面。10K值得的方面。在这些情况下,您的请求可能会涉及数千个方面。在这种情况下,您将向该请求添加 ms。
请参阅基准测试。