• spring IOC的原理


    (一)概念

      IOC (Inversion of Controller), 即控制反转, 是一种设计思想,在 java 开发中意味着把设计好的对象交给容器控制,而不是在对象内部直接控制(由 Spring IOC容器来管理组件对象的生命周期, 负责组件对象的创建和组件对象之间的依赖关系,这样可以大大降低程序各组件之间的耦合关系,符合软件工程中低耦合高内聚的理念)。

    (二)创建对象和管理对象

      初始化Spring中的Bean工厂,Spring中的Bean工厂会基于Bean对象描述,创建Bean的实例,并有选择性的对实例对象进行管理。
      Spring中有两个核心的Map对象,一个用于存储bean的配置信息(xml,注解),一个用于存储bean的实例信息;通过(xml,annotation的方法)描述对象;通过这两个map对象来对bean对象进行管理;通过依赖注入来协同资源。

    (三)依赖注入的方式

      主要有三种方式:构造函数注入、setter 方法注入与接口注入。
      构造函数注入:通过类名反射得到构造函数,通过构造函数注入数据,对象构造完成后便进入就绪状态,可以马上使用,但依赖对象较多时参数列表会较长,对相通类型的参数进行处理可能会比较困难。
      setter 方法注入:通过 setter 方法处理多个对象时会比构造函数好,只是不能马上进入就绪状态。
      接口注入:强制注入对象不必要的接口,具有较强的侵入性,性能也不见得比上两种好。

  • 相关阅读:
    基于Diff机制的多个状态合并
    do_mmap解读
    Linux对用户态的动态内存管理
    我的WordPress站点
    使用Bochs学习硬件原理
    inode的若干锚
    Use sed and awk to prettify json
    IO完成端口
    如何使用iText制作中文PDF
    Font and PDF
  • 原文地址:https://www.cnblogs.com/xmm2017/p/13943875.html
Copyright © 2020-2023  润新知