• Spring Ioc介绍和Bean的实例化


    一.IoC:Inverse of Control 控制反转   //  依赖注入  Dependency Injection

    控制:某一接口具体实现类的选择权

    反转:从调用者中移除控制权,转交第三方

    二.基于装置的装配

    创建应用对象之间协作关系的行为被称装配包括三方面工作:

    1. BeanBean 的实例化
    2. 属性注入
    3. 建立 BeanBean 之间的关系

    三,Bean的实例化

    1. 生成Bean的实例包括三种方法:

    方法一:默认构造函数的(必须要把默认构造函数写出来)

    <bean id="car2" class="com.sitong.instantiationbean.Car"></bean>  

    方法二:静态工厂

    public class StaticFactory {
        static Car createCar(){
            return new Car(200,"aaa");
        }
    }
     <bean id="car2" class="com.sitong.instantiationbean.StaticFactory" factory-method="createCar"></bean>

    方法三:实例工厂

    public class InstanceFactory {
        public Car creatCar(){
            return  new Car(200,"Bens");
        }
    }
    <bean id="carFactory" class="com.sitong.instantiationbean.InstanceFactory"></bean>
    <bean id="car3" class="com.sitong.instantiationbean.Car" factory-bean="carFactory" factory-method="creatCar"></bean>

    2.管理Bean的生命周期:

    Bean的生命周期,有两个层面:

    A. BeanBean 的作用范围
    B. 实例化 BeanBean 所经历的一系列阶段

    与Bean的生命周期有关配置
    1. 设置 BeanBean 的作用范围(scope属性)
    2. 延迟初始化( lazy-init和default-lazy-init属性 )
    3. 初始化方法和销毁(init-method 和destroy-method属性 )

    A singleton (默认):在容器初始化时创建Bean,每次取到的是同一实例 
    B. prototype :在每次获取时创建 Bean

  • 相关阅读:
    图像切割之(五)活动轮廓模型之Snake模型简单介绍
    拓扑排序的原理及事实上现
    理解class.forName()
    Java中StringBuilder的清空方法比較
    Java实现BASE64编解码
    KMP算法具体解释(贴链接)
    基于PCM2912a的USB声卡设计
    51. 腾讯面试题:一个二叉树,中序遍历,找一个节点的后一个节点
    Handler和HandlerThread
    Nuget-QRCode:jquery-qrcode
  • 原文地址:https://www.cnblogs.com/SitongLiu/p/6530963.html
Copyright © 2020-2023  润新知