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

转载于:https://www.cnblogs.com/XuYiHe/p/6893347.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值