回答
有官方文檔的一部分,其相關Bean的作用:
基本上,他們定義下一個:
singleton(默認)每個Spring IoC容器將單個bean定義作用於單個對象實例。
原型 將單個bean的定義作用於任意數量的對象實例。
請求 作用域單個bean定義到單個HTTP請求的生命週期;也就是說,每個HTTP請求都有自己的實例,這個實例是在單個bean定義的背後創建的。只有在Web感知的Spring ApplicationContext的上下文中才有效。
會話 範圍HTTP會話生命週期的單個bean定義。只有在Web感知的Spring ApplicationContext的上下文中才有效。
globalSession 將全局HTTP會話生命週期中的單個bean定義作用域。通常僅在Portlet上下文中使用時纔有效。只有在Web感知的Spring ApplicationContext的上下文中才有效。
應用程序 作用域將ServletContext的生命週期定義爲單個bean。只有在Web感知的Spring ApplicationContext的上下文中才有效。
websocket 將WebSocket生命週期中的單個bean定義作用域。只有在Web感知的Spring ApplicationContext的上下文中才有效。
此外,隨着春季3.0存在的其他範圍線程範圍,但默認情況下未登記的,而且你甚至可以創建自己的範圍:
在Spring 3.0,一個線程範圍可用,但默認情況下未註冊 。有關更多信息,請參閱 SimpleThreadScope的文檔。有關如何註冊此自定義作用域或其他自定義作用域的說明,請參閱「使用自定義作用域」一節。
有是說明了如何定義您的自定義範圍部分:
對於Application scope
,他們將它定義爲下一個:
Spring容器創建AppPreferences bean 的新實例,通過對整個web 應用程序使用appPreferences bean定義一次。也就是說,appPreferences bean的作用域爲 ServletContext級別,作爲常規的ServletContext屬性存儲。
這也解釋了一個Spring單例的bean之間的區別:
可見這有點類似於彈簧單豆,但有兩種 重要的方面不同:它是每ServletContext的一單,不是每個春天 「的ApplicationContext」(對於其有可能在任何給定的網絡應用 幾個),和它實際上暴露,並因此作爲 ServletContext屬性
所以,如果你正在尋找與XML的使用方法:
<bean id="apps" class="com.App" scope="application"/>
或註釋:
@ApplicationScope
@Component
public class App {
// ...
}
應用 作用域一個bean定義到一個ServletContext的生命週期。只有在Web感知的Spring ApplicationContext的上下文中才有效。
- 1. 春季的應用範圍
- 2. 春季豆執法範圍
- 3. 春季交易範圍
- 4. 春季會議範圍
- 5. 春季session範圍Mbean
- 6. 物業範圍在春季
- 7. 定製範圍使用代理春季
- 8. 春季/ mybatis地圖範圍變量
- 9. 春季的CDI式對話範圍
- 10. 春季網絡範圍的bean和axis2
- 11. JSF 2.1春季會議範圍
- 12. 獲取自定義春季範圍
- 13. 瞭解春季的自定義範圍
- 14. JBPM 5.4春季的LocalTaskService範圍
- 15. 春季的線程範圍vs請求範圍
- 16. 春季單身人士和應用範圍模式有什麼區別?
- 17. 爲什麼範圍在春季會影響類的裝載在春季
- 18. 是否有春季批次「工作」範圍?
- 19. 春季請求和會話範圍有什麼區別?
- 20. 這個春季訓練有用嗎?
- 21. 春季會話範圍使用用戶登錄
- 22. 春豆範圍
- 23. 春季單身職業範圍不適用於網絡應用程序
- 24. 春季範圍=「原型」的用途是什麼?
- 25. 春季單身只有一個應用背景嗎?
- 26. 春季Web應用程序
- 27. 春季社交Facebook +春季安全權限電子郵件和用戶名範圍
- 28. 春季會話或請求範圍變量
- 29. 春季定義的Java配置會話範圍豆
- 30. 參數索引超出範圍(0 <1)進入春季jdbctemplate
所以這將是應用範圍和辛格爾頓範圍之間的區別? –