天天看点

Spring框架(二)

1.1、bean对象创建的细节

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

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

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

   2) 什么时候创建?

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

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

    3)是否延迟创建(懒加载)

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

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

     *    (只对单例有效)

设置懒加载有两种方式:

  1、 全局懒加载,可以在*.xml文件的<beans>下配置default-lazy-init="true"

  2、 如果只想设置某一个<bean>为懒加载,可以在<bean>里面配置lazy-init="true"

2.2、SpringIOC容器

    SpringIOC容器,是spring核心内容。

        作用: 创建对象 & 处理对象的依赖关系

    IOC容器创建对象:

      创建对象, 有几种方式:

          1) 调用无参数构造器

          2) 带参数构造器

          3) 工厂创建对象

                           工厂类,静态方法创建对象

                           工厂类,非静态方法创建对象

代码示例:

   1、导包

   2、配置applicationContext.xml / bean.xml文件 

实体类User

工厂类

测试代码

测试结果:

1、默认无参数构造器 

  输出:

      ------User对象创建【无参数构造器】------

2、带参数构造器

   输出:

    ------User对象创建【无参数构造器】------

    User [id=100, name=Jack]