首页 > 代码库 > bean 的生命周期

bean 的生命周期

就是在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 的生命周期