預設是 singleton ,單例模式,如下代碼: 獲取的 service 和 service2 都是一個對象,結果為true。 如果將 scope 設置為 prototype: 1 <bean id="userService" class="com.bjsxt.service.UserServic ...
預設是 singleton ,單例模式,如下代碼:
1 @Test 2 public void testAddUser() throws Exception { 3 ApplicationContext ctx = new ClassPathXmlApplicationContext("beans.xml");//初始化ApplicationContext對象,載入配置文件 4 5 UserService service = (UserService)ctx.getBean("userService");//從容器中取 6 UserService service2 = (UserService)ctx.getBean("userService");//從容器中取 7 8 System.out.println(service == service2);//true 9 10 User u = new User(); 11 u.setUsername("zhangsan"); 12 u.setPassword("zhangsan"); 13 service.addUser(u);//容器中已經配置了UserDAOImpl了,並把DAOImpl註入到service之中,所以service直接就可以保存了 14 }
獲取的 service 和 service2 都是一個對象,結果為true。
如果將 scope 設置為 prototype: 1 <bean id="userService" class="com.bjsxt.service.UserService" scope="prototype"> ,則每次調用getBean都會獲取新的實例,結果就為false了;
singleton 最常用;prototype 視情況而定。
後面的幾個配置一般在SpringMVC框架中才會涉及到,這裡不做探討。
代碼鏈接: http://pan.baidu.com/s/1nu6KK9F 密碼: ishj
jar包鏈接: http://pan.baidu.com/s/1qYRTGEo 密碼: fejx