【Bean】標籤經常使用屬性spring
說明:起名稱,id屬性值名稱任意,不能包含特殊符號,根據id獲得配置對象。session
說明:建立對象所在類的全路徑。app
說明:功能和id是同樣的,id屬性值不能有特殊符號,可是name能夠包含特殊符號。目前已經再也不使用,使用也不會有什麼問題(這是個遺留問題,主要是整合struts1來設置的)。spa
說明:Bean的做用範圍prototype
singletoncode |
默認值、單例的(只建立一個對象)xml |
prototype對象 |
多例的blog |
requestget |
WEB項目中,Spring建立一個Bean對象,將對象存入到request域中 |
session |
WEB項目中,Spring建立一個Bean對象,將對象存入到session域中 |
globaSession |
WEB項目中,應用在Porlet(單點登陸)環境中,若是沒有Porlet環境,那麼globalSession至關於session。 |
Singleton代碼演示:
1 //核心配置文件內容不變,由於默認就是singleton,再次基礎上代碼以下 2 //(若是要寫就是: scope="singleton"): 3 @Test 4 public void testUser(){ 5 //加載核心配置文件,建立對象 6 ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml"); 7 //獲得咱們配置的對象 8 //<bean id="user" class="com.tyzr.ioc.User"></bean> 9 User user1 = (User)context.getBean("user"); 10 User user2 = (User)context.getBean("user"); 11 System.out.println(user1); 12 System.out.println(user2); 13 }
輸出結果以下: com.tyzr.ioc.User@6f760238 com.tyzr.ioc.User@6f760238
Prototype(多例)代碼案例:
注意:咱們在整合Struts2的時候,因爲action是多實例的,這裏這個就是要和struts2的action配合使用的(更簡單的說之後要用spring管理struts2 action的建立,就得是多實例的)。
1 <bean id="user" class="com.tyzr.ioc.User" scope="prototype"></bean> 2 @Test 3 public void testUser(){ 4 //加載核心配置文件,建立對象 5 ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml"); 6 //獲得咱們配置的對象 7 //<bean id="user" class="com.tyzr.ioc.User"></bean> 8 User user1 = (User)context.getBean("user"); 9 User user2 = (User)context.getBean("user"); 10 System.out.println(user1); 11 System.out.println(user2); 12 }
輸出結果以下:
com.tyzr.ioc.User@25e25cc
com.tyzr.ioc.User@7303754a