bean 的生命周期
阿新 • • 發佈:2017-05-23
XML 實例 efault mode false 密碼 itl log ati
就是在new ClassPathXMLApplicationContext 的時候是否就直接在內存中new 出來,如果是對象比較的情景下 ,為了提高程序初始化的速度,可以用用。
如果設置為 true 了,只有在調用 getBean 等方法獲取的時候,才實例化類
配置:
1 lazy-init="true" ,可取的值 true/false/default
類的生命周期開始調用的方法: 1 init-method="init"
類的生命周期結束調用的方法: 1 destroy-method="destroy"
UserService 類:
1 package com.bjsxt.service; 2 3 import com.bjsxt.dao.UserDAO; 4 import com.bjsxt.model.User; 5 6 public class UserService { 7 8 private UserDAO userDAO; 9 10 public void init(){ 11 System.out.println("init"); 12 } 13 14 public UserService(UserDAO userDAO){ 15 super(); 16 this.userDAO = userDAO; 17 } 18 19 public void addUser(User u){ 20 this.userDAO.save(u); 21 } 22 23 public UserDAO getUserDAO() { 24 return userDAO; 25 } 26 27 public void setUserDAO(UserDAO userDAO) { 28 this.userDAO = userDAO; 29 } 30 31 public void destroy(){ 32 System.out.println("destroy"); 33 } 34 35 }
UserService的xml配置:
1 <bean id="userService" class="com.bjsxt.service.UserService" scope="prototype" lazy-init="true" init-method="init" destroy-method="destroy"> 2 <constructor-arg> 3 <ref bean="u"/> 4 </constructor-arg> 5 </bean>
代碼鏈接: http://pan.baidu.com/s/1kUVlB0r 密碼: cum2
jar包鏈接: http://pan.baidu.com/s/1qYRTGEo 密碼: fejx
bean 的生命周期