勵志

勵志人生知識庫

spring的作用域有哪些

Spring框架中定義了六種主要的作用域,分別是singleton(單例作用域)、prototype(原型作用域)、request(請求作用域)、session(會話作用域)、application(全局作用域)和websocket(HTTP WebSocket 作用域)。這些作用域定義了Bean實例的生命周期和可見性範圍,具體如下:

singleton(單例作用域)。在Spring IoC容器中,只有一個實例,所有對它的引用都指向同一個對象。適合無狀態的Bean,如工具類或服務類。

prototype(原型作用域)。每次請求都會創建一個新的Bean實例,適合需要維護狀態的Bean或有狀態的bean。

request(請求作用域)。在Web套用中,為每個HTTP請求創建一個Bean實例,適合在一個請求中需要維護狀態的場景。

session(會話作用域)。在Web套用中,為每個HTTP會話創建一個Bean實例,適合需要在多個請求之間維護狀態的場景。

application(全局作用域)。在整個Web套用期間創建一個Bean實例,適合存儲全局的配置數據等。

websocket(HTTP WebSocket 作用域)。在每個Websocket會話中創建一個Bean實例,適合WebSocket通信場景。