spring中bean的创建

来源:互联网 发布:mwc飞控源码2.5 编辑:程序博客网 时间:2024/05/21 05:59

bean对象创建的细节


 1) 对象创建: 单例/多例

  scope="singleton", 默认值, 即 默认是单例【service/dao/工具类】

   scope="prototype", 多例; 【Action对象】

 

  2) 什么时候创建?

  scope="prototype"  在用到对象的时候,才创建对象。

  scope="singleton"  在启动(容器初始化之前), 就已经创建了bean,且整个应用只有一个。






 唯一一个对象实例,在容器创建之前已经创建。







 3)是否延迟创建

  lazy-init="false"  默认为false,  不延迟创建,即在启动时候就创建对象

  lazy-init="true"   延迟初始化, 在用到对象的时候才创建对象

    (只对单例有效)






 4) 创建对象之后,初始化/销毁

  init-method="init_user"       【对应对象的init_user方法,在对象创建爱之后执行

 destroy-method="destroy_user"  【在调用容器对象的destroy方法时候执行,(容器用实现类)】


在applicationContext.xml中对象创建设置中设置初始化方法。



在测试类中调用。


看下运行示意图