簡體   English   中英

在引擎蓋下的原型范圍豆的春季實例化

[英]Spring instantiation of prototype scoped beans under the hood

Spring定義了不同的bean定義范圍,一個是原型范圍 ,它在每次查找時都提供了一個新實例。

我對它有兩個疑問..

  1. 在引擎蓋下,spring如何創造一個新的實例?
  2. 我聽說過,它使用clone()方法創建一個新實例,如果是,那么為什么以及如果它使用clone來給出一個新實例,那么克隆對象的狀態會發生什么,因為clone也會復制狀態?
  1. 與任何其他bean一樣:使用@Autowired注釋的構造函數,或者如果沒有任何bean,則使用默認值(如果定義了一個,則使用工廠方法)。

  2. 你聽到的是錯的。 大多數對象都不可復制,因此只能通過這樣做獲得異常。 從那以后就沒有意義了

    • 它無法創建第一個實例
    • 所有的實例都與第一個實例相同,這顯然不是想要的。

Spring使用反射機制來創建新實例。 Spring,首先查找單例映射,如果沒有找到實例,則使用bean定義創建新實例,它將應用定義的生命周期。 所以你聽到的是錯的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM