• 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

  • 相关阅读:
    旺财速啃H5框架之Bootstrap(二)
    Java 8 的 Nashorn 脚本引擎教程
    kindeditor4整合SyntaxHighlighter,让代码亮起来
    让kindeditor显示高亮代码
    css伪元素用法大全
    弹性布局基础讲解与高效应用
    美化页面,从我做起
    深度理解微信小程序的思想
    程序员提升之道-人际交往篇
    前端-网站构建从零开始
  • 原文地址:https://www.cnblogs.com/SitongLiu/p/6530963.html
Copyright © 2020-2023  润新知