定义bean的初始化和销毁方法&延迟加载

控制反转(IOC)

应用程序本身不负任依赖对象的创建,依赖对象的创建由应用程序内转移动应用程序外(spring容中创建象)这种创建对象权力的转移就是反转。

public class PersonDaoImpl implements PersonDao {

    public PersonDaoImpl(){
        System.out.println("PersonDaoImpl被初始化");
    }

    public void init(){
        System.out.println("调用init方法,初始化资源");
    }
    @Override
    public void savePerson(String name) {
        System.out.println("jdbc:name为"+name+"的记录保存成功");
    }

    public void destroy(){
        System.out.println("调用destroy方法,销毁资源");
    }
}

如果在创建对象之后初始化资源,可以PersonDaoImpl类中定义一个方法(init),希望PersonDaoImpl类的对象被销毁之前释放一些资源,可以PersonDaoImpl类中定义一个销毁方法(destroy).

定义完上述方法之后,一定要在<bean>标签中进行配置。

bean的延迟加载

默认情况下,bean没有延时初始化。只spring容器被创建,核心配置文件所配的bean都会立即初始化,并把初始化的bean对象放到spring容器中。这样会浪费性能和存储空间。

为了提交性能和存储空间的浪费,可以延时初始化bean对象.就在bean标签中设置       lazy-init="true"

如果希望所有的bean都延时初始化,可以在beans标签中设置default-lazy-init="true"

如果beans标签中所有的bean都延时初始化,但有一部bean需要立即初始化,可以在具体的bean标签中设置lazy-init="false"

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值