spring中bean的创建

bean对象创建的细节


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

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

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

 

  2) 什么时候创建?

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

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

spring中bean的创建

spring中bean的创建


spring中bean的创建


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


spring中bean的创建


spring中bean的创建



 3)是否延迟创建

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

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

    (只对单例有效)

spring中bean的创建

spring中bean的创建

spring中bean的创建



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

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

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

spring中bean的创建

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

spring中bean的创建


在测试类中调用。

spring中bean的创建

看下运行示意图

spring中bean的创建