一步步学习 《Spring 实战 第5版》--(4)Spring全家桶

Spring提供了全面的Jave企业级应用架构解决方案,并且随着技术的发展不断更新,目前已经到了第5版。新的框架不断加入,阵容不断强大,形成了Spring全家桶。这里做个简单介绍。

Spring目前最新的第五版,提供了大约20多个模块。创建Spring项目时,在Spring Initializr web表单中也有100多个可选依赖项。

Spring依赖选择项.jpg

下面介绍几个重点框架。

一、 Spring核心框架

Spring核心框架是一切框架的基础。spring的框架结构如下图。它包括了核心容器,依赖注入框架,Spring MVC,数据持久化支持等基础功能。

spring5基本模块.png

Spring MVC是Web开发的基础框架。它能够调用指定的控制器,来对网络请求做出响应,另外也能够创建REST API,生成非HTML的输出。

Spring核心框架也提供了数据持久化的支持,例如对JDBC的模板支持JdbcTemplate等。

最新版的Spring还增加了对反应式编程的支持,提供了新的反应式web框架 Spring WebFlux。

二、 Spring boot

Spring boot 主要在依赖管理、自动配置和监控方面提供了很多便利。

在依赖管理方面,Spring boot通过Starter关键字,根据所需要的功能,将相关依赖整体打包,避免了手工选择依赖类库的繁琐和类库版本间的冲突。

在自动配置方面,Spring boot避免了以前版本中的显示配置,通过自动装配和组件扫描技术,能够自动在项目路径下搜索组件,并装配成bean。

Spring boot还提供了强大的监控功能。通过Actuator,能够监控应用运行时的内部工作状况,包括指标、线程dump信息,应用的健康状况,以及应用可用的环境资源等。

三、Spring Data

与核心框架提供的基本数据持久化支持相比,Spring data的功能更为强大,例如增加了对关系型数据库的JPA((Java Persistence API)持久化支持等。

Spring Data JPA是spring基于ORM框架、JPA规范的基础上封装的一套JPA应用框架,可以使开发者使用极简的代码实现对数据库的访问和操作。它提供了包括增删改查等在内的基本功能,且易于扩展。

Spring Data还能处理其他多种不同类型的数据库,例如NoSql类型(Mongo),图数据库等。

四、Spring Security

Spring Security 解决了应用程序通用的安全性问题,包括身份认证、授权和API安全性等。

五、Spring Cloud

针对微服务应用,Spring提出了Spring Cloud来提供技术支持。Spring Cloud包括服务注册中心、负载均衡、断路器、配置中心、消息总线等。

服务注册中心主要是由Eureka提供。服务注册中心类似与房产中介,房产提供方将房产信息在中介处登记,谁想买房就在中介处查找需要的房源。服务注册中心就完成了类似中介的功能,能够注册服务、查询服务时效性等。

消息总线由Spring Cloud Bus实现,它作用就是管理和广播分布式系统中的消息。

负载均衡器由Ribbon实现。负载均衡主要就是在集群架构下,在各个节点间分配请求,避免某个节点的负载过重,从而达到集群整体的高可用。

有了负载就有了断路器,Spring的断路器由Hystrix实现。Hystrix就是一个能进行熔断和降级的库。当某个节点负载过重时,切断请求链路,或者转换成一个轻量级的服务。熔断器能提高整个系统的弹性。

配置中心由Spring Cloud Config实现。Config对配置文件统一地进行管理,而且能在项目运行时动态修改配置文件。

整个Spring Cloud框架对微服务的实现提供了一套完备的解决方案。

这里列举了Spring里面的一些主要框架,每个框架的内容都是相当庞大的,后续将在具体使用过程中逐渐接触到。

你可能感兴趣的:(一步步学习 《Spring 实战 第5版》--(4)Spring全家桶)