[英]Spring performance for @Autowired, @Resource and using property injection
我的問題是,在以下使用Spring進行依賴注入的情況之間,是否存在明顯的性能差異:
性能應該在運行時和系統初始化期間及時進行測量。 假設:所有bean都屬於scope =“ singleton”。
我以這種方式與Spring合作還很陌生,因此,如果我缺少任何細節或問題不相關,請告訴我。
謝謝
在具有單例作用域和合理的應用程序的情況下,它不會有太大的區別,除非您使用大量的惰性bean定義,否則性能差異將取決於應用程序的啟動時間。
讓我們來看三個例子:
@Resource
按名稱注入,因此實際上是每個鍵的查找(快速) @Autowired
本質上是按類型進行的查找,這意味着容器必須能夠知道在應用程序上下文中定義的托管bean的類型。 這有點慢 如果您有合理的申請,那並不重要。 如果您的應用程序具有10k個類,並且在根包中配置了類路徑掃描,則類路徑掃描可能會花費一些時間,尤其是如果這些類不在jar文件中(按目錄中的類型查找要慢得多)。
除了接線bean的性能成本通常位於應用程序的啟動階段之外,您的問題沒有最終答案。 一旦上下文啟動,就從高速緩存中檢索單例bean。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.