Spring的基本架构与核心概念

156 阅读2分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

Spring的基本架构与核心概念

官网地址:spring.io

Spring发展到今天不仅仅是一个技术,而是一种开发的生态圈,Spring提供了若干个项目,每个项目用于完成特定的功能。

Spring Framework是底层的框架,使其他项目的根基

Spring Boot可以提高开发速度,使原先的开发变得更加简单

Spring Cloud支持进行分布式开发

以上三者占据了市场大多数的主流开发

Spring Framework系统架构

  • test:单元测试与集成测试

  • Core Container:核心容器

    • Beans
    • Core
    • Context
    • SpEL
  • AOP:面向切面编程

  • Aspects:AOP思想实现

  • Web:Web开发

    • WebSocket
    • Servlet
    • Web
    • Portlet
  • Data Access:数据访问

  • Data Intergration:数据集成

核心概念

在我们之前书写代码时,在业务层创建实例往往固定写死,导致了dao层做出新的更改时不能直接应用,需进行大的改动,我们称为代码耦合度偏高问题。

就以上问题,我们的解决方案是:在使用对象时,在程序中不要主动去使用new产生对象,转换为由外部提供对象, 对象的创建控制权由程序转移到外部,这种思想称为控制反转(IoC)

Spring技术就对Ioc思想进行了实现:

Spring提供了一个容器,称为IoC容器,用来充当IoC思想中的”外部“,IoC容器负责对象的创建,初始化等一系列工作,被创建或被管理的对象在IoC容器中统称为Bean。

在容器中建立bean时,在有依赖关系的bean之间,自动建立依赖,称为依赖注入(DI)

小结在使用对象的时候,不需要自己new,使用IoC容器提供的对象,并且容器中类之间的关系已经进行了自动绑定,可直接使用!