SpringFramework 基本概述

文章前言

上一章 的学习中,我们已经能够构建部署 SpringFramework 的源码,接着在学习源码之前还是要对 SpringFramework 框架 进行基本的了解和熟悉

什么是 Spring ?

介绍 SpringFramework 之前先去 Spring 官网看看:
2. SpringFramework 基本概述 - 图1
我们常说的 Spring 框架应该说是指狭义的Spring框架( Spring framework ),现在的 Spring 框架已经发展成多个项目集成的一个体系,这个体系能支持 web 应用(web application)、项目安全性(Security)、微服务、批处理、数据处理等等方面,我们拿官网说法看看:

官网的说明是指范义的 Spring 框架体系,Spring框架体系是开箱即用的,能让我们不用编写大量附加代码,从而真正节省了一些时间和精力 2. SpringFramework 基本概述 - 图2

Spring 框架体系

Spring体系包括 Spring Boot 、 Spring Framework 、 Spring Cloud 、 Spring data 、 Spring Security etc .
2. SpringFramework 基本概述 - 图3
2. SpringFramework 基本概述 - 图4

Spring 体系功能

Spring框架体系功能比较强大,能支持web应用、微服务、批处理等等
2. SpringFramework 基本概述 - 图5
微服务:
2. SpringFramework 基本概述 - 图6
2. SpringFramework 基本概述 - 图7

开发指导手册

学习 Spring 框架,我们可以去官网找资料学习:
Spring 指导手册:https://spring.io/guides
2. SpringFramework 基本概述 - 图8
2. SpringFramework 基本概述 - 图9

Spring 入门例子

参考官网的开发手册,我们可以创建一个 idea 项目,可以是基于 maven 的,也可以基于 gradle
https://spring.io/guides/gs/intellij-idea/
2. SpringFramework 基本概述 - 图10
2. SpringFramework 基本概述 - 图11
要创建 maven 项目,可以参考官方手册:https://spring.io/guides/gs/maven/
要创建 gradle 项目,也有官方手册:https://spring.io/guides/gs/gradle/
2. SpringFramework 基本概述 - 图12

Spring framework

ok,开始介绍本文主要学习的 Spring Framework ,听起来可能有点陌生,其实我们是一直在学习和使用的,特别是在企业开发中, Spring framework 其实就是狭义的 Spring 框架,也就是我们口头中的 Spring 框架
2. SpringFramework 基本概述 - 图13
Spring framework 框架 功能有:依赖项注入、事务管理、Web 应用、数据访问、消息传递等等
Spring Framework 框架包括如下的子模块工程:

  1. spring-aop spring-context-indexer spring-instrument spring-orm spring-webflux
  2. spring-aspects spring-context-support spring-jcl spring-oxm spring-webmvc
  3. spring-beans spring-core spring-jdbc spring-test spring-websocket
  4. spring-beans-groovy spring-expression spring-jms spring-tx
  5. spring-context spring-framework-bom spring-messaging spring-web

JDK版本要求

引用官方 wiki 的文档,jdk版本对jdk有如下要求,在开发中要注意:

  • JDK Version Range
  • Spring Framework 5.3.x: JDK 8-17 (expected)
  • Spring Framework 5.2.x: JDK 8-15 (expected)
  • Spring Framework 5.1.x: JDK 8-12
  • Spring Framework 5.0.x: JDK 8-10
  • Spring Framework 4.3.x: JDK 6-8

Spring 架构介绍

引用官方图, Spring3.0 架构图:
2. SpringFramework 基本概述 - 图14
Spring4.0 架构图:
2. SpringFramework 基本概述 - 图15
Spring5.0 架构图:
2. SpringFramework 基本概述 - 图16