Spring方法拦截性能

Spring方法拦截性能,spring,Spring,我在项目中使用Spring方法拦截器。我想知道引入方法拦截器是否会有可能的性能问题。同时,我的理解是Spring将创建代理并重新定义被截取的方法,并将截取器逻辑内联到每个被截取的方法中。在运行时,spring不调用bean,而是使用代理bean。因此,使用拦截器,创建代理bean本身需要额外的时间。即使添加了更多的拦截器,也需要在同一代理bean的方法中添加更多的方法调用。这种理解正确吗?可能术语有点混淆@LearningHuman,拦截器更像是Spring MVC术语,指的是在调用实际控制器方

我在项目中使用Spring方法拦截器。我想知道引入方法拦截器是否会有可能的性能问题。同时,我的理解是Spring将创建代理并重新定义被截取的方法,并将截取器逻辑内联到每个被截取的方法中。在运行时,spring不调用bean,而是使用代理bean。因此,使用拦截器,创建代理bean本身需要额外的时间。即使添加了更多的拦截器,也需要在同一代理bean的方法中添加更多的方法调用。这种理解正确吗?

可能术语有点混淆@LearningHuman,拦截器更像是Spring MVC术语,指的是在调用实际控制器方法之前要采取的操作-这里有性能惩罚,但与将数据流回到浏览器所涉及的IO成本(数据库往返时间)相比,这一成本往往可以忽略不计

我认为您指的是,Spring为每个具有目标切入点的bean创建了一个动态代理,但在创建代理的情况下,它实际上并不是在调用中,因此有一个惩罚,但如果是在web应用程序的上下文中,IO时间可能比其他方法调用的任何惩罚都要高。 如果性能是一个问题,您可以使用编译时方面编织,这至少可以内联对通知的调用