Spring -10 -<bean>的 scope 屬性 -
阿新 • • 發佈:2018-12-13
1.<bean>的屬性;
2.作用:控制物件有效範圍(單例,多例等)
3.<bean/>標籤對應的物件預設是單例的.
3.1無論獲取多少次,都是同一個物件
Teacher t1 = ac.getBean("teacher1",Teacher.class); System.out.println(t1); Teacher t2 = ac.getBean("teacher1",Teacher.class); System.out.println(t2); System.out.println(t1==t2);
3.3輸出結果如下: 3[email protected]3[email protected] 3.6true
3.7
4.scope 可取值
4.1singleton 預設值,單例--所有同一物件使用同一地址!
<bean id="teacher1" class="com.test.Teacher" scope="singleton"></bean> 等價於下面的: <bean id="teacher1" class="com.test.Teacher" ></bean>
4.4prototype 多例,每次獲取重新例項化該Class !
<bean id="teacher1" class="com.test.Teacher" scope="prototype"></bean> Teacher t1 = ac.getBean("teacher1",Teacher.class); t1.setCnt(2); System.out.println(t1); //Teacher{cnt=2} Teacher t2 = ac.getBean("teacher1",Teacher.class); System.out.println(t2); //Teacher{cnt=2} System.out.println(t1==t2); 輸出結果: Teacher{cnt=2} ,Teacher{cnt=0} , false
4.8 request 在每次請求時,重新new() / 例項化;
4.9 session 每個會話物件內,物件是單例的. (依賴於Spring0MVC架構)
4.10 application 在application 物件內是單例;
4.11 global session, spring 推 出 的 一 個 對 象 , 依 賴 於 spring-webmvc-portlet ,類似於session