首页 > 其他分享 >springboot和springcloud区别

springboot和springcloud区别

时间:2023-08-02 09:35:32浏览次数:32  
标签:服务 springboot 区别 spring 应用程序 注释 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的设计目的是为了管理同一项目中的各项微服务,因此二者是完全不同的两个软件开发框架。

 

标签:服务,springboot,区别,spring,应用程序,注释,springcloud
From: https://www.cnblogs.com/yayuya/p/17599687.html

相关文章

  • 与云服务器有哪些区别
    VPS(VirtualPrivateServer)和云服务器都是虚拟化技术的产物,但它们之间有以下几个不同点:1、架构VPS是建立在以物理服务器上的虚拟化技术上,一台物理服务器被划分成多个虚拟服务器提供给不同的用户使用。而云服务器则是建立在分布式架构之上,由多台物理服务器组成的集群提供服务,具有更......
  • interested和interesting的区别
    interested和interesting的区别为:意思不同、用法不同、侧重点不同。一、意思不同1.interested意思:感兴趣的,关心的,表现出兴趣的,有利害关系的,当事人的。2.interesting意思:有趣的,有吸引力的。二、用法不同1.interested用法:作名词的基本意思是“兴趣”,指对某种事物的爱好,也可指感......
  • springCloud
    传统项目转型存在的问题·代码耦合,开发维护困难·无法针对不同模块进行针对性优化·无法水平扩展·单点容错率低,并发能力差垂直拆分当访问量逐渐增大,单一应用无法满足需求,此时为了应对更高的并发和业务需求,我们根据业务功能对系统进行拆分:优点·系统拆分实现了流......
  • @Autowired 和 @Resource的区别
    @Autowired和@Resource都可以用于注入Bean对象,并且都可以自动装配依赖关系,但他们主要的区别在于:1.使用的注解不同@Autowired是Spring提供的注解,而@Resource是JSR-250规范提供的注解。2.默认情况下注入的方式不同@Autowired默认按照类型装配依赖对象,当发现有多个Bean满足依......
  • SpringBoot 打jar包后下载static文件夹下的文件
    前端:后端:@RequestMapping(value={"downloadFile"})publicvoiddownloadFile(HttpServletResponseresponse){InputStreaminputStream=null;OutputStreamoutputStream=null;fileName="aaa.pdf";try{//直接获取流inputStream=FileUtil.cl......
  • SpringBoot + Redis 执行lua脚本
    1、背景有时候,我们需要一次性操作多个Redis命令,但是这样的多个操作不具备原子性,而且Redis的事务也不够强大,不支持事务的回滚,还无法实现命令之间的逻辑关系计算。所以,一般在开发中,我们会利用lua脚本来实现Redis的事务。2、lua脚本Redis中使用lua脚本,我们需要注意......
  • bm25算法与tf-idf比较,区别,已经使用长江
    bm25算法与tf-idf算法比较一、tf-idf算法介绍词频(TF)=某篇文章中某个关键词出现的次数/文章总字数,逆文档频率(IDF)=log(语料库文章总数/包含该关键词的文章总数+1),tfidf=tf*idf,下面给大家举个实例,你大概就明白了,例如语料库中有以下三篇文章:第一篇:张一山与杨紫疑似相恋;第二篇:C罗又......
  • C# HttpUtility.UrlEncode与 Uri.EscapeDataString区别
    相同点均是对url进行编码区别HttpUtility.UrlEncode会将空格转换为加号(+)Uri.EscapeDataString会将空格转换为%20适用场景HttpUtility.UrlEncode适用于url是查询参数Uri.EscapeDataString适用于url是作为文件路径使用......
  • import时加{}与不加的区别
    在javascript中,使用import语句导入模块时,加上花括号{}与不加的区别在于:1.不加花括号导入整个模块对象。例如:importaxiosfrom'axios'会导入整个axios模块,可以通过axios.get()等方法来使用它。2.加上花括号只导入模块中的指定变量或函数。例如:import{get,post}f......
  • 使用Maven插件为SpringBoot应用构建Docker镜像
    Docker开启远程API用vim编辑器修改docker.service文件#生成证书opensslgenrsa-aes256-outca-key.pem4096opensslreq-new-x509-days365-keyca-key.pem-sha256-outca.pemopensslgenrsa-outserver-key.pem4096opensslreq-subj"/CN=localhost"-sha256-......