我在我的項目中使用Spring方法攔截器。我想知道引入方法攔截器是否會有可能的性能問題。同時,我的理解是,Spring將創建代理並重新定義截獲的方法,並在每個攔截的方法中內聯攔截器邏輯。在運行時,spring不是調用bean,而是使用代理bean。所以使用攔截器時,需要額外的時間來創建代理bean本身。即使添加了更多的攔截器,也可以在同一個代理bean的方法中添加更多的方法調用。這種理解是否正確?Spring方法攔截 - 性能
0
A
回答
0
@LearningHuman或許這個術語有點混淆,攔截器更像是一個Spring MVC術語,指的是在實際控制器方法被調用之前想要採取的動作 - 這裏存在性能損失,但傾向於與涉及將數據流式傳輸回瀏覽器的IO成本相比,數據庫往返時間可以忽略不計。
我認爲你指的是Aspects,Spring爲每個有針對性的切入點的bean創建一個動態代理,但在創建代理的情況下,它並不真正對調用進行內聯,所以有一個懲罰,但如果是在Web應用程序環境中,則IO時間可能會高於其他方法調用的任何處罰。 如果性能是一個問題,您可以使用編譯時與Aspects進行編織,這可以至少內聯對建議的調用。
相關問題
- 1. Spring JMX攔截
- 2. Spring Cache攔截器
- 3. 攔截Spring MVC中
- 4. Spring RestEasy攔截器
- 5. Spring Security不攔截
- 6. Spring AOP不攔截Spring容器內的方法
- 7. 統一:攔截(AOP)攔截屬性?並在表單上截取方法(winform)?
- 8. Python攔截方法調用
- 9. Spring AOP方法攔截器vs方法建議
- 10. Spring安全性 - 攔截url映射
- 11. 攔截方法聲明
- 12. 通用方法攔截
- 13. 攔截器與Spring中的方面?
- 14. Spring:標準日誌方面(攔截器)
- 15. BasicDataSource的Spring攔截器
- 16. .NET方法調用攔截
- 17. Groovy的方法攔截
- 18. Spring AOP和異常攔截
- 19. 訪問在Spring攔截
- 20. Spring攔截器/過濾器
- 21. 使用Spring AOP攔截Struts 2操作方法
- 22. Spring MVC的攔截例外
- 23. Spring中的攔截器2.5
- 24. Spring MVC 3.2 @ResponseBody攔截器
- 25. Spring攔截不點火
- 26. Spring攔截URL模式
- 27. 多重方法攔截和攔截器重用
- 28. 不使用攔截器綁定調用攔截器方法
- 29. AOP攔截屬性
- 30. Spring 3.2 AOP - 通過註釋攔截方法