zoukankan      html  css  js  c++  java
  • 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 方法处理多个对象时会比构造函数好,只是不能马上进入就绪状态。
      接口注入:强制注入对象不必要的接口,具有较强的侵入性,性能也不见得比上两种好。

  • 相关阅读:
    Docker之Harbor
    idea 代码块编辑(批量列编辑)快捷键 -- idea version 2018 不常用
    mysql 去除表中重复的数据,保留id最小的数据信息
    打家劫舍(动态规划+滚动数组+取模运算优化)
    利用线程异步调用
    idea 2019激活码
    mysql导出PDM表结构并带有注释
    安装GO
    GO语言
    项目启动
  • 原文地址:https://www.cnblogs.com/xmm2017/p/13943875.html
Copyright © 2011-2022 走看看