我的印象是Spring AOP最适合用于特定于应用程序的任务,如安全性、日志记录、事务等,因为它使用自定义的Java5注释作为框架。然而,在设计模式方面,AspectJ似乎更加友好。
有人能强调在Spring应用程序中使用Spring AOP和AspectJ的各种优缺点吗?
发布于 2009-10-22 20:10:01
Spring-AOP的优点
Spring-AOP缺点
工厂创建的内容中
AspectJ的优点
AspectJ缺点
发布于 2014-02-16 09:28:02
补充说明:如果在高负载下的性能很重要,那么您将需要比Spring AOP快9-35倍的AspectJ。10 vs vs 355 vs听起来可能不是很多,但我已经看到人们使用了很多方面。价值10K的方面。在这些情况下,您的请求可能涉及数千个方面。在这种情况下,您将向该请求添加ms。
请参阅benchmarks。
发布于 2009-10-30 18:01:50
除了其他人所说的--只是换个说法,there are two major differences
Spring-AOP:使用dynamic proxy if interface exists or cglib library if direct implementation provided.概念通过代理进行运行时编织
AspectJ:编译时通过AspectJ Java Tools(ajc compiler)编织(如果源代码可用)或编译后编织(使用编译文件)。此外,可以启用Spring的加载时编织-它需要aspectj定义文件并提供灵活性。
编译时编织可以提供性能优势(在某些情况下)以及joinpoint definition in Spring-aop is restricted to method definition only which is not the case for AspectJ.
https://stackoverflow.com/questions/1606559
复制相似问题