美文网首页
深入 Spring IoC - 1.1 总概览

深入 Spring IoC - 1.1 总概览

作者: 陈林峰LeonChen1024 | 来源:发表于2020-09-22 22:37 被阅读0次

    深入 Spring IoC - 1.1 总概览

    @[toc]

    概述

    Inversion of Control (IoC,控制反转) IoC 更多内容,这是一个设计原则,可以减少程序的耦合度.而IoC通常是和 dependency injection (DI,依赖注入) 一起出现的,可以说DI是实现IoC原则的一种主要方式.通过从外部注入依赖到使用者,使得控制创建依赖的职责反转到了外部,使得代码的耦合度减少,灵活度和扩展能力得到提高.

    Spring中提供了这种模式的实现,通过把类交给IoC容器,并告诉它你是什么,那么当有类需要用到你的时候Spring 就可以从容器中获取并注入给调用者.

    IoC 容器

    spring-framework 项目中, spring-beans 模块下的 org.springframework.beans 包和 spring-context 模块下的 org.springframework.context 包是 Spring 的IoC的基础所在. 所以如果要了解Spring 中的IoC容器的话,这两个包是值的阅读的.

    BeanFactory 接口提供了一种高级配置机制,能够管理任何类型的对象.Spring中使用原型设计模式或者单例设计模式的变种(在工厂作用域中是单例的)来管理bean实例. ApplicationContextBeanFactory 的一个子接口.

    如图所示

    在这里插入图片描述

    ApplicationContextBeanFactory 的基础上添加了一些额外内容,比如:

    • 更方便和 Spring 的AOP 集成
    • 用于国际化的消息资源处理
    • 事件发布
    • 提供了应用层特定的上下文,比如给web应用使用的 WebApplicationContext

    也就是说 ApplicationContextBeanFactory 的基础上添加了很多面向企业级开发的功能.它是包含了 BeanFactory IoC 容器的功能.我们一般使用它就可以了.

    Beans

    在Spring 中,构成应用的骨架并且被 Spring IoC 容器管理的对象叫做 bean. bean对象会被IoC容器实例化,组装和管理.除此之外,bean也是你应用中的简单对象.bean 和它依赖都是通过容器中的配置元数据反射而来的.

    系列内容见 https://github.com/LeonChen1024/LearnSpring

    About Me

    我的博客 leonchen1024.com

    我的 GitHub https://github.com/LeonChen1024

    相关文章

      网友评论

          本文标题:深入 Spring IoC - 1.1 总概览

          本文链接:https://www.haomeiwen.com/subject/hhwgyktx.html