Spring bean 支持 5 種 scope:web
Singleton - 每一個 Spring IoC 容器僅有一個單實例。session
Prototype - 每次請求都會產生一個新的實例。生命週期
Request - 每一次 HTTP 請求都會產生一個新的實例,而且該 bean 僅在當前 HTTP 請求內有效。作用域
Session - 每一次 HTTP 請求都會產生一個新的 bean,同時該 bean 僅在當前 HTTP session 內有效。io
Global-session - 相似於標準的 HTTP Session 做用域,不過它僅僅在基於 portlet 的 web 應用中才有意義。Portlet 規範定義了全局 Session 的概念,它被全部構成某個 portlet web 應用的各類不一樣的 portlet 所共享。在 global session 做用域中定義的 bean 被限定於全局 portlet Session 的生命週期範圍內。若是你在 web 中使用 global session 做用域來標識 bean,那麼 web 會自動當成 session 類型來使用。 僅當用戶使用支持 Web 的 ApplicationContext 時,最後三個纔可用。class