我正在学习Spring AOP,我看到这张表与Spring AOP和AspectJ之间的区别。
Joinpoint Spring AOP Supported AspectJ Supported
Method Call No Yes
Method Execution Yes Yes
方法调用和方法执行之间有什么区别?
答案 0 :(得分:0)
有不同类型的连接点:
Spring AOP仅支持公共方法调用,否则您将需要AspectJ。 方法调用(方法调用)可让您在调用之前将其定位为实际执行之前。因此,不能将联接点放在正在执行的方法的中间-只能在Spring AOP中的之前,之后或周围。
AspectJ允许更多可能性,但也被视为更复杂,但是由于编译时编织(Spring AOP是运行时),因此在性能方面更为有效。因此,如果您需要更多的功能/更好的性能,那么使用AspectJ会更好,但是这种情况很少见,因为Spring AOP在大多数情况下就足够了。
如果您想了解更多信息,这里是Spring AOP的概述。 https://javamondays.com/spring-aop-beginners-guide/