在描述
範圍和目的
- 單例
這些將bean定義限定為每個Spring IoC持有者的單獨示例(默認)。
- 原型
這將一個單獨的bean定義限定在相當多的文章示例中。
- 請求
這將bean定義作用於HTTP需求——對於關注web的Spring ApplicationContext來說是實質性的。
- 會話
這將bean定義作用於一個HTTP會議——對於一個關注web的Spring ApplicationContext來說是實質性的.
- 交投
這將bean定義作用於全球範圍內的HTTP會議——對於關注web的Spring ApplicationContext來說是實質性的。
單例作用域
如果一個擴展被設置為單例,Spring IoC隔間將隻在一個場合使用該bean定義所描述的項目。這個單獨的事件被保存在單例bean的儲備中,隨後對該命名bean的每個請求和引用都返回存儲的對象。默認的度始終是單例的。盡管如此,當您隻需要一個bean出現時,您可以將擴展屬性設置為bean安排文檔中的單例。
通過以下步驟,您可以創建一個Spring應用程序:
# 1:創建一個名為SpringDemo的項目,並在生成任務的src信封下創建一個捆綁包演示。
# 2:使用添加外部jar選項添加所需的Spring庫,如Spring Hello World演示示例部分所述。
# 3:在演示包下創建Java類HelloWorld和MainApp。
#4:在src信封下創建Beans設置記錄Beans.xml。
#5:最後一個改進是創建所有Java記錄和Bean配置文檔的實質並運行應用程序
例子
公共類HelloWorld{私有字符串消息;public void setMessage(字符串消息)Message =消息;}公共無效getMessage(){System.out。println(消息);}}
MainApp代碼:
包演示;進口org.springframework.context.ApplicationContext;進口org.springframework.context.support.ClassPathXmlApplicationContext;公共類MainApp{公共靜態void main(String[] args) {ApplicationContext context = new ClassPathXmlApplicationContext("Beans.xml");HelloWorld objA = (HelloWorld) context.getBean(" HelloWorld ");objA。setMessage(“對象”);objA.getMessage ();HelloWorld objB = (HelloWorld) context.getBean(" HelloWorld ");objB.getMessage (); } } xml Code:
原型範圍
如果度被設置為模型,Spring IoC持有者在每次對特定bean進行請求時都會對文章進行另一個bean case。當有疑問時,對所有有狀態的bean使用模型度,對無狀態bean使用單例範圍。為了描述一個原型擴展,您可以在bean設置文檔中將degree屬性設置為model
# 1:創建一個名為SpringDemo的項目,並在生成任務的src信封下創建一個捆綁包演示。
# 2:如Spring Hello World示例部分所述,使用Add External JARs替代方法添加所需的Spring庫。
# 3:在演示包下創建Java類HelloWorld和MainApp。
#4:在src管理器下創建bean安排記錄Beans.xml。
# 5:最後一個改進是創建所有Java記錄和Bean配置文檔的內容並運行應用程序
HelloWorld.Java和MainApp.Java代碼是一樣的;但是,XML代碼如下所示:
.