亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

為什么我們在 Spring Boot 中需要原型作用域

為什么我們在 Spring Boot 中需要原型作用域

米琪卡哇伊 2023-08-23 17:11:13
我正在考慮@scope("prototype")范圍,但我不明白,因為我們已經有了關鍵字new。它們都在運行時創建對象的新實例。使用有什么好處prototype?重新分配比使用更容易嗎new?當我使用關鍵字創建新對象時,我做錯了什么嗎new?我正在嘗試了解它的優點。new我發現了這個問題,但它沒有解釋和的優點/缺點prototype:What is the Difference Between bean with scope prototype and new Object in singleton bean?
查看完整描述

4 回答

?
白板的微信

TA貢獻1883條經驗 獲得超3個贊

通過使用new關鍵字,您正在創建一個 java 對象,但它不是 spring bean,并且不會出現在 spring 容器中。但是,如果您@scope("prototype")為每個請求使用一個新的 spring bean,則會提供一個新的 spring bean。

什么是春豆?

Spring bean 基本上是由 Spring 管理的對象。更具體地說,它是一個由 Spring 框架容器實例化、配置和管理的對象。Spring bean 在 Spring 配置文件中定義(或者最近通過使用注釋),由 Spring 容器實例化,然后注入到您的應用程序中。

春豆的優點?

1)默認情況下,所有spring bean都是不可變的,spring IOC容器將管理它們

2)通過使用依賴注入,您可以輕松地將bean注入到任何其他對象中

3)依賴注入使測試更容易。注入可以通過構造函數完成。

4)如果您使用的是Spring Boot?,那么您可以使用注釋將值從 Spring bean 注入application.yml或注入到 Spring bean 中application.properties@Value


查看完整回答
反對 回復 2023-08-23
?
嗶嗶one

TA貢獻1854條經驗 獲得超8個贊

其簡單明了。在某些情況下,您可能需要每個 bean 都有單獨的實例。它幾乎等于new在需要時使用 with 創建,但您可以將依賴項注入到標記為原型的任何內容中。



查看完整回答
反對 回復 2023-08-23
?
幕布斯7119047

TA貢獻1794條經驗 獲得超8個贊

例如,您有一個令牌,您應該一次性使用,因此每次新實例創建到應用程序上下文時,您都可以使用此類型。



查看完整回答
反對 回復 2023-08-23
?
千萬里不及你

TA貢獻1784條經驗 獲得超9個贊

使用 Spring 的主要好處之一是它不需要直接通過 實例化對象new,而是將對象創建為 Spring 組件/bean 并在 Spring 應用程序上下文中注冊 - 這導致可以組合在一起的軟件組件通過注入相互結合,并導致更容易的單元測試和更靈活的軟件。

spring 原型范圍意味著每次需要時都會創建一個 spring 組件的新實例(由 spring 運行時/容器)并在 spring 應用程序上下文中注冊。最終 Spring 創建一個對象,它像任何其他對象一樣存儲在堆上,但是 Spring 容器提供的抽象層能夠定義軟件組件并將其“連接”在一起,比使用裸露創建對象具有深遠的new優勢其他物體內部。



查看完整回答
反對 回復 2023-08-23
  • 4 回答
  • 0 關注
  • 243 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號