我想了解組件掃描添加應用程序上下文創建的時間。目前,創建應用程序上下文需要大約100秒,我懷疑組件定義的組件掃描是昂貴的。我有一系列的問題如下:組件掃描性能
如何測量度過組件掃描的總時間?
基本上下文:組件掃描條目的數量是否會影響搜索空間,我假設組件掃描使用PathMatchingResourcePatternResolver掃描類路徑上的每個條目,然後查找與基本包正則表達式匹配的類。它是更有效的構建中的元數據,如:
<context:component-scan base-package="foo" /> <context:component-scan base-package="bar" /> <context:component-scan base-package="baz" />
或
<context:component-scan base-package="foo, bar, baz" />
我也假設該號碼PathMatchingResourcePatternResolver影響組件掃描的類,因爲檢查相應的組件註釋需要檢查類文件。那麼,是否只有通過定義明確的包中的註釋類來減少要檢查的類數纔是好習慣?
是否有已知的最佳實踐列出了設計中要考慮哪些因素以獲得最佳組件掃描性能?
爲此,您還可以根據您的上下文包含/排除註釋。例如,在Spring MVC上下文中只包含@ * Controller beans。 – voliveira89
我認爲Mhod的文章的主旨是通過嘗試只保留與基本包相對應的包中的彈簧託管bean來限制PathMatchingResourcePatternResolverResolver搜索空間,以減少ASM類掃描。這對我有意義。 – toaler