2015-11-06 63 views
0

任何人都可以解釋這兩個Spring bean作用域之間的區別嗎? 我很熟悉Singleton模式。Java Spring bean scopes:singleton vs application

這是唯一的區別嗎? 您可以使用應用程序範圍在Spring容器中擁有一個bean列表。

另外,你能夠在一個Spring容器中運行多個Web服務器嗎?如果是的話,那將是在單例作用域上使用應用程序作用域的原因,因爲否則這個bean將通過這兩個服務器共享。

回答

1

The documentation解釋它:

這有點類似於Spring的singleton的bean但不同的兩個重要方面:它是每ServletContext的一單,不是每個春天「的ApplicationContext」(或可能有幾個在任何給定的Web應用程序中),它實際上是公開的,因此作爲一個ServletContext屬性可見

+0

嘿Nizet,我有點混淆。你可以舉一個例子,一個應用程序有多個ServletContext。 – ParagFlume

+1

重新閱讀。一個Web應用程序只有一個ServletContext。但它可以有多個Spring應用程序上下文(通常每個Spring調度程序servlet使用一個根上下文和一個子Web上下文) –

+1

多個spring應用程序上下文意味着我們可以有多個spring配置文件,正確的..我們可以在多個文件權限..範圍爲「應用程序」。這是你想說的嗎? Plz幫助我理解。謝謝 – ParagFlume