天天看点

【Spring框架】Spring(七大模块详解),Spring Boot与Spring Cloud介绍,控制反转(IoC)

文章目录

  • 一、Spring
  • 1、简介
  • 2、七大模块
  • 二、Spring Boot与Spring Cloud
  • 1、Spring Boot
  • 2、Spring Cloud
  • 3、二者关系
  • 三、控制反转(IoC)

一、Spring

1、简介

Spring是一个轻量级的,非入侵式的开源免费框架,核心特点是控制反转(IOC)和面向切面编程(AOP)等,支持事务处理,以及对框架的整合,Spring解决了企业应用开发的复杂性,结束了EJB开发的”黑暗“时代,迎来了Java企业应用开发行业的”春天“。

2、七大模块

【Spring框架】Spring(七大模块详解),Spring Boot与Spring Cloud介绍,控制反转(IoC)
【Spring框架】Spring(七大模块详解),Spring Boot与Spring Cloud介绍,控制反转(IoC)
  • 核心容器:核心容器提供 Spring 框架的基本功能。核心容器的主要组件是 BeanFactory ,它是工厂模式的实现。 BeanFactory 使用控制反转(IOC) 模式将应用程序的配置和依赖性规范与实际的应用程序代码分开。
  • Spring 上下文:Spring 上下文是一个配置文件,向 Spring 框架提供上下文信息。Spring 上下文包括企业服务,例如 JNDI、EJB、电子邮件、国际化、校验和调度功能。
  • Spring AOP:通过配置管理特性,Spring AOP 模块直接将面向切面的编程功能 , 集成到了 Spring框架中。所以,可以很容易地使 Spring 框架管理任何支持 AOP的对象。Spring AOP 模块为基于Spring 的应用程序中的对象提供了事务管理服务。通过使用 Spring AOP,不用依赖组件,就可以将声明性事务管理集成到应用程序中。
  • Spring DAO:JDBC DAO 抽象层提供了有意义的异常层次结构,可用该结构来管理异常处理和不同数据库供应商抛出的错误消息。异常层次结构简化了错误处理,并且极大地降低了需要编写的异常代码数量(例如打开和关闭连接)。Spring DAO 的面向 JDBC 的异常遵从通用的 DAO 异常层次结构。
  • Spring ORM:Spring 框架插入了若干个 ORM 框架,从而提供了 ORM 的对象关系工具,其中包括 JDO、Hibernate 和 iBatis SQL Map。所有这些都遵从 Spring 的通用事务和 DAO 异常层次结构。
  • Spring Web 模块:Web 上下文模块建立在应用程序上下文模块之上,为基于 Web 的应用程序提供了上下文。所以,Spring 框架支持与 Jakarta Struts 的集成。Web 模块还简化了处理多部分请求以及将请求参数绑定到域对象的工作。
  • Spring MVC 框架:MVC 框架是一个全功能的构建 Web 应用程序的 MVC 实现。通过策略接口,MVC 框架变成为高度可配置的,MVC 容纳了大量视图技术,其中包括 JSP、Velocity、Tiles、iText和 POI。

二、Spring Boot与Spring Cloud

1、Spring Boot

  • Spring Boot 是 Spring 的一套快速配置脚手架
  • 继承了Spring框架原有的优秀特性,也简化新Spring应用的初始搭建以及开发过程
  • Spring Boot使用了约束优于配置的理念,很多集成方案已经帮你选择好了,能不配置就不配置
  • SpringBoot通过集成大量的框架使得依赖包的版本冲突,以及引用的不稳定性等问题得到了很好的解决
  • 建议学习前先学习Spring及Spring MVC

2、Spring Cloud

  • Spring Cloud是基于Spring Boot实现的,能够便利性巧妙地简化分布式系统基础设施的开发
  • Spring Cloud是一系列框架的有序集合

3、二者关系

  • Spring Boot专注于快速、方便集成的单个微服务个体,Spring Cloud关注全局的服务治理框架
  • Spring Cloud很大的一部分是基于Spring Boot来实现,Spring Boot可以离开Spring Cloud独立使用开发项目,但是Spring Cloud离不开Spring Boot,属于依赖的关系。
  • SpringBoot在SpringClound中起到了承上启下的作用,如果你要学习SpringCloud必须要学习SpringBoot。

三、控制反转(IoC)

控制反转IoC(Inversion of Control),是一种设计思想,可以用来减低计算机代码之间的耦合度,最常见的一种实现方式就是DI(依赖注入)。

通过控制反转,对象在被创建的时候,由一个调控系统内所有对象的外界实体将其所依赖的对象的引用传递给它。也可以说,依赖被注入到对象中。

附:百度百科上的一张图,十分形象

【Spring框架】Spring(七大模块详解),Spring Boot与Spring Cloud介绍,控制反转(IoC)

IoC是Spring框架的核心内容,使用多种方式完美的实现了IoC,可以使用XML配置,也可以使用注解。

Spring容器在初始化时先读取配置文件,根据配置文件或元数据创建与组织对象存入容器中,程序使用时再从IoC容器中取出需要的对象。

【Spring框架】Spring(七大模块详解),Spring Boot与Spring Cloud介绍,控制反转(IoC)