簡體   English   中英

PROTOTYPE 的 ProxyMode 與 REQUEST 作用域的區別

[英]Difference between ProxyMode of PROTOTYPE and REQUEST scope

我創建了一個簡單的Spring Boot項目。 在項目中,我創建了 2 個由 2 個服務類實現的接口。 一個服務類使用 Prototype 范圍進行注釋,而另一個使用請求范圍進行注釋。 兩個服務類都有代理模式ScopedProxyMode.INTERFACES

在我的 Controller 類中,我自動裝配 Service 類並簡單地打印出對象。 每次我發出 HTTP 請求時,兩者都會給我不同的參考。 如果我們可以使用PROTOTYPE范圍實現相同的功能,為什么我們需要將范圍設置為REQUEST

定義
如果 bean 具有 PROTOTYPE 范圍,則每次對該 bean 發出請求時,Spring IoC 容器都會創建一個新的 bean 實例。 如果 bean 具有 REQUEST 范圍,則每個 HTTP 請求都將擁有它自己的 bean 實例。

例子
在您的示例中,如果您希望在 HTTP 請求的整個生命周期中使用相同的引用,您將需要使用 REQUEST 范圍。

我發現的請求之間的差異很好的例子和原型作用域bean這里

文檔

暫無
暫無

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

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