SpringSpringBootSpringCloud的关系
Posted hymKing
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SpringSpringBootSpringCloud的关系相关的知识,希望对你有一定的参考价值。
Spring
Spring框架,是一套为了解决企业应用开发的复杂性而创建的框架,为开发java应用程序提供了全面的基础架构的支持。它提供了依赖注入和“开箱即用”的一些模块。如Spring Mvc、Spring Jdbc、Spring Security、Spring AOP、Spring IOC、Spring ORM、Spring Test等等。这些程序大大的缩短应用开发的时间,提高了开发应用功能程序的效率。(摘自Spring Boot 实战派)。
Spring的官方首页文档中针对“Why spring?”做了一些介绍,Spring使的java开发更快、更简单、更安全。Spring框架的核心关注点在速度、简单、高效率上。
在没有Spring框架出现之前,要进行java web开发,相对会复杂很多,比如对于数据的操作,需要编写大量的代码来实现打开、操作、关闭数据库。而使用Spring JDBC模块,只要进行数据的操作就可以。
Spring Boot
Spring Boot使得创建一个标准独立的产品级别基于Spring的应用程序更加简单,表现在更快、更高效和自动化。
Spring Boot可以理解成是对Spring的更进一步的优化框架,SpringBoot的本质是Spring框架的扩展。
Spring Boot有如下的一些特征:
- 创建独立的Spring应用程序。
- 嵌入式Tomcat、Jetty、 Undertow容器(无需部署war文件)。
- 提供的starters 简化构建配置
- 尽可能自动配置spring应用和第三库。
- 提供生产就绪特性,如度量、运行状况检查和外部化配置
- 完全没有代码生成和XML配置要求
Spring cloud
Spring Cloud 为开发者提供了快速构建分布式系统中一些常见模式的工具(例如配置管理、服务发现、断路器、智能路由、微代理、控制总线、一次性令牌、全局锁、领导选举、分布式会话、集群状态)。分布式系统的协调导致了样板模式,使用 Spring Cloud 开发人员可以快速建立实现这些模式的服务和应用程序。它们将适用于任何分布式环境,包括开发人员自己的笔记本电脑、裸机数据中心和托管平台(如 Cloud Foundry)。
Spring Cloud的有如下的一些特征:
- 分布式/版本化配置
- 服务注册和发现
- 路由
- 服务到服务呼叫
- 负载均衡
- 断路器
- 全局锁
- 领导选举和集群状态
- 分布式消息传递
(以上信息摘取自Spring.io官方网站内容)
从以上信息可以理解成Spring Cloud是一系列框架的有序集合,它利用Spring Boot开发的便利性巧妙的简化了分布式系统基础设施的开发。
接下来,我们再对广义Spring、狭义Spring、Spring Boot、Spring Cloud做一个总结:
广义的Spring,可以理解对基础的java web开发(原生的java jdk) 一整套的Spring解决方案,是一个完整的Spring的框架集体系。
狭义的Spring,可以理解成对java开发的一个脚手架工具。
Spring Boot 是更高效的java开发的脚手架工具,具体特点上文已经描述。
而Spring Cloud和Spring Boot的之间的关系是一种依赖关系,Spring Cloud是基于Spring Boot实现的云应用的开发工具;Spring Boot专注于快速方便的集成单个微服务个体,Spring Cloud是关注全局的服务治理框架。Spring Cloud可以理解成是这些微服务的CTO。
微服务:Spring Boot可以实现单个微服务,微服务是可以独立部署、水平扩展、独立访问的服务单元。
以上是关于SpringSpringBootSpringCloud的关系的主要内容,如果未能解决你的问题,请参考以下文章