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

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

TA貢獻1784條經驗 獲得超9個贊
使用 Spring 的主要好處之一是它不需要直接通過 實例化對象new
,而是將對象創建為 Spring 組件/bean 并在 Spring 應用程序上下文中注冊 - 這導致可以組合在一起的軟件組件通過注入相互結合,并導致更容易的單元測試和更靈活的軟件。
spring 原型范圍意味著每次需要時都會創建一個 spring 組件的新實例(由 spring 運行時/容器)并在 spring 應用程序上下文中注冊。最終 Spring 創建一個對象,它像任何其他對象一樣存儲在堆上,但是 Spring 容器提供的抽象層能夠定義軟件組件并將其“連接”在一起,比使用裸露創建對象具有深遠的new
優勢其他物體內部。
添加回答
舉報