springboot和springcloud区别

springboot和springcloud区别有:

1、含义不同;2、作用不同;3、使用方式不同;4、特征不同;5、注释不同;6、优势不同;7、组件不同;8、设计目的不同。

其中,含义不同指的是springboot是一个快速开发框架,而SpringCloud是建立在SpringBoot上的服务框架。

1、含义不同

springboot:一个快速开发框架,它简化了传统MVC的XML配置,使配置变得更加方便、简洁。

springcloud:是建立在SpringBoot上的服务框架,进一步简化了配置,它整合了一全套简单、便捷且通俗易用的框架。

2、作用不同

springboot:为了提供一个默认配置,从而简化配置过程。

springcloud:为了给微服务提供一个综合管理框架。

3、使用方式不同

springboot:可以单独使用。

springcloud:springcloud必须在springboot使用的前提下才能使用。

4、特征不同

springboot:

  • spring应用:通过调用静态 run() 方法创建独立的 Spring 应用程序。
  • Web应用程序:我们可以使用嵌入式Tomcat,Jetty或Undertow创建HTTP服务器。无需部署 WAR 文件。
  • 外化配置:弹簧启动也提供基于产品的应用程序。它在不同的环境中也同样有效。
  • 安全性:它是安全的,内置于所有HTTP端点的基本身份验证中。
  • 应用程序事件和监听器:Spring Boot必须处理许多任务,应用程序所需的事件。添加用于创建工厂文件的侦听器。

springcloud:

  • 智能路由和服务发现:在创建微服务时,有四个服务很重要。服务发现就是其中之一。这些服务相互依赖。
  • 服务到服务调用:要连接所有具有序列的从属服务,请注册以调用终端节点。
  • 负载均衡:将网络流量适当分配到后端服务器。
  • 领导选举:应用程序作为第三方系统与另一个应用程序一起使用。
  • 全局锁定:两个线程不能同时访问同一资源。
  • 分布式配置和分布式消息传递

5、注释不同

springboot:

  • @SpringBootApplication:此注释可以找到每个spring引导应用程序。它由三个注释组成:@EnableAutoConfiguration;@Configuration;@ComponentScan。它允许执行Web应用程序而无需部署到任何Web服务器中。
  • @EnableAutoConfiguration:要么您使用的是低于1.1的spring boot版本,要么是@SpringBootApplication没有使用,那么需要此注释。
  • @ContextConfiguration:JUnit测试需要它。spring-boot 应用程序需要单元测试来测试其中的服务类。它加载SpringBoot上下文,但未提供完整的SpringBoot处理。
  • @SpringApplicationConfiguration:它具有相同的工作@ContextConfiguration但提供完整的springboot处理。它加载 Bean 以及启用日志记录并从 application.properties 文件
  • 加载属性。@ConditionalOnBoot:它定义了几个条件注释:@ConditionalOnMissingBoot;@ConditionalOnClass;@ConditionalOnMissingClass;@ConditionalOnExpression;@ConditionalOnJav。

springcloud:Spring Cloud主要遵循5个主要注释:

  • @EnableConfigServer:此注释将应用程序转换为服务器,该服务器更多地用于应用程序以获取其配置。
  • @EnableEurekaServer:用于 Eureka Discovery Services 的此注释可用于查找使用它的服务。
  • @EnableDiscoveryClient:帮助此注释应用程序在服务发现中注册,发现使用它的其他服务。
  • @EnableCircuitBreaker:使用断路器模式在相关服务发生故障时继续运行,防止级联故障。此注释主要用于 Hystrix 断路器。
  • @HystrixCommand(回退方法=" fallbackMethodName"):用于标记回退到另一种方法的方法,它们无法正常成功。

6、优势不同

springboot:

  • 快速开发和运行独立的弹簧Web应用程序。
  • 默认情况下,它在需要时配置Spring功能。它的豆子被初始化并自动连接。
  • 它不需要基于 XML 的配置。直接嵌入Tomcat,Jetty以避免复杂的部署。
  • 没有必要部署 WAR 文件。

springcloud:

  • 提供云服务开发。
  • 它是基于微服务的架构来配置。
  • 它提供服务间通信。
  • it 基于Spring Boot模型。

7、组件不同

springboot:spring启动启动器,spring启动自动配置,spring启动执行器,spring启动 CLI,spring启动初始化。

springcloud:配置、服务发现、断路器、路由和消息传递、API 网关、跟踪、CI 管道和测试。

8、设计目的不同

springboot:springboot的设计目的是为了在微服务开发过程中可以简化配置文件,提高工作效率。

springcloud:springcloud的设计目的是为了管理同一项目中的各项微服务,因此二者是完全不同的两个软件开发框架。

相关推荐
小飞Coding1 天前
Spring Boot 中关于 Bean 加载、实例化、初始化全生命周期的扩展点
spring boot
小飞Coding1 天前
彻底搞懂 Spring 容器导入配置类:@EnableXXX 与 spring.factories 核心原理
spring boot
悟空码字2 天前
Spring Boot 整合 MongoDB 最佳实践:CRUD、分页、事务、索引全覆盖
java·spring boot·后端
皮皮林5514 天前
拒绝写重复代码,试试这套开源的 SpringBoot 组件,效率翻倍~
java·spring boot
用户908324602736 天前
Spring AI 1.1.2 + Neo4j:用知识图谱增强 RAG 检索(上篇:图谱构建)
java·spring boot
用户8307196840827 天前
Spring Boot 集成 RabbitMQ :8 个最佳实践,杜绝消息丢失与队列阻塞
spring boot·后端·rabbitmq
Java水解7 天前
Spring Boot 视图层与模板引擎
spring boot·后端
Java水解7 天前
一文搞懂 Spring Boot 默认数据库连接池 HikariCP
spring boot·后端
洋洋技术笔记7 天前
Spring Boot Web MVC配置详解
spring boot·后端
初次攀爬者8 天前
Kafka 基础介绍
spring boot·kafka·消息队列