首页 > 其他分享 >Spring Boot是什么?它的优缺点以及核心

Spring Boot是什么?它的优缺点以及核心

时间:2023-08-07 14:32:54浏览次数:50  
标签:依赖 应用 Spring 配置 优缺点 构建 Boot

一、Spring Boot 是什么?

Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。

Spring Boot是什么?它的优缺点以及核心_微服务

二、Spring Boot 的优缺点



1、优点

①可快速构建独立的 Spring 应用

Spring Boot是一个依靠大量注解实现自动化配置的全新框架。在构建Spring应用时,我们只需要添加相应的场景依赖,Spring Boot就会根据添加的场景依赖自动进行配置,在无须额外手动添加配置的情况下快速构建出一个独立的Spring应用。


②直接嵌入Tomcat、Jetty 和Undertow 服务器

传统的Spring应用部署时,通常会将应用打成 WAR包形式并部署到Tomcat、Jetty或Undertow 服务器中。Spring Boot框架内嵌了Tomcat、Jetty和Undertow 服务器,而且可以自动将项目打包,并在项目运行时部署到服务器中。


③通过依赖启动器简化构建配置

在Spring Boot项目构建过程中,无须准备各种独立的JAR文件,只需在构建项目时根据开发场景需求选择对应的依赖启动器“starter”,在引入的依赖启动器“starter”内部已经包含了对应开发场景所需的依赖,并会自动下载和拉取相关JAR包。


④自动化配置Spring和第三方库

Spring Boot 充分考虑到与传统Spring 框架以及其他第三方库融合的场景,在提供了各种场景依赖启动器的基础上,内部默认提供了各种自动化配置类(例如 RedisAuto Configuration)。使用Spring Boot开发项目时,一旦引入了某个场景的依赖启动器,Spring Boot内部提供的默认自动化配置类就会生效,开发者无须手动在配置文件中进行相关配置(除非开发者需要更改默认配置),从而极大减少了开发人员的工作量,提高了程序的开发效率。


⑤提供生产就绪功能

Spring Boot提供了一些用于生产环境运行时的特性,例如指标、监控检查和外部化配置。其中,指标和监控检查可以帮助运维人员在运维期间监控项目运行情况;外部化配置可以使运维人员快速、方便地进行外部化配置和部署工作。


⑥极少的代码生成和XML配置

Spring Boot 框架内部已经实现了与Spring以及其他常用第三方库的整合连接,并提供了默认最优化的整合配置,使用时基本上不需要额外生成配置代码和XML配置文件。在需要自定义配置的情况下,Spring Boot更加提倡使用Java config(Java 配置类)替换传统的XML配置方式,这样更加方便查看和管理。


2、缺点

Spring Boot也有一些明显的缺点:


例如,Spring Boot入门较为简单,但是深入理解和学习却有一定的难度,这是因为SpringBoot是在Spring框架的基础上推出的,所以读者想要弄明白Spring Boot的底层运行机制,有必要对Spring框架有一定的了解。


三、Spring Boot 的四大核心

1、自动配置

针对很多Spring应用程序和常见的应用功能,Spring Boot相关配置可自动提供,通过简单的配置,甚至零配置,可以构建一套完整的框架。


2、起步依赖

告诉Spring Boot它可以引入所需的依赖库;通过启动依赖机制(Starter),简化jar包的引用,解决jar版本的冲突。


3、Actuator

是SpringBoot的程序监控器,可以监控Spring应用程序上下文中的Beann、查看自动配置决策、Controller映射、线程活动、应用程序健康状况等,能深入运行的Spring Boot应用程序,探索Spring boot 程序内部信息。


4、命令界面

这是Spring Booot的可选特性主要用于Grovy语言。


四、Spring Boot 的应用场景

1、快速构建RESTful API服务

Spring Boot提供了一系列的自动配置和基础组件,可以帮助你快速构建基于 Spring MVC 的 RESTful API 服务。


2、快速构建微服务架构

Spring Boot 提供了一系列的微服务工具和组件,包括服务注册与发现、负载均衡、断路器等,可以帮助你快速构建微服务架构。


3、快速构建企业级应用

Spring Boot 提供了丰富的企业级应用组件,包括数据持久化、消息中间件、安全认证、任务调度等,可以帮助你快速构建企业级应用。


4、快速构建云原生应用

Spring Boot 提供了对云原生应用的支持,包括对云服务的集成、对容器化应用的支持等,可以帮助你快速构建云原生应用。


标签:依赖,应用,Spring,配置,优缺点,构建,Boot
From: https://blog.51cto.com/u_16078995/6993693

相关文章

  • SpringBoot3基础用法
    目录一、背景二、环境搭建1、工程结构2、框架依赖3、环境配置三、入门案例1、测试接口2、全局异常3、日志打印3.1日志配置3.2日志打印四、打包运行五、参考源码技术和工具「!喜新厌旧」一、背景最近在一个轻量级的服务中,尝试了最新的技术和工具选型;即SpringBoot3,JDK17,IDEA......
  • SpringBoot Netty socket使用
    SpringBootNettysocket使用Netty是由JBOSS提供的一个java开源框架,现为Github上的独立项目。Netty提供异步的、事件驱动的网络应用程序框架和工具,用以快速开发高性能、高可靠性的网络服务器和客户端程序。这里springBoot整合起来使用测试,性能怎么的不怎么了解,至少能用maven引用依......
  • 如何解决Spring循环依赖?
    在Spring中,循环依赖指的是两个或多个Bean之间相互依赖,形成一个闭环,导致Spring容器无法正确地创建这些Bean。解决Spring循环依赖的方法是通过Spring容器的三个阶段来处理:实例化、属性注入、和初始化。为了更好地解释,我们假设有两个类A和B相互依赖。A依赖于B,B也依赖于A。以下是解决循......
  • Spring Boot 最佳实践
    本文翻译自国外论坛medium,原文地址:https://medium.com/@raviyasas/spring-boot-best-practices-for-developers-3f3bdffa0090SpringBoot是一种广泛使用且非常流行的企业级高性能框架。以下是一些最佳实践和一些技巧,我们可以使用它们来改进SpringBoot应用程序并使其更加高效......
  • Spring常见问题
    一、Spring是什么Spring是一个轻量级的IOC和AOP容器框架。是为Java应用程序提供基础服务的一套框架,目的是简化企业应用程序的开发,它使得开发者只需要关心业务需求。主要包含以下七个模块:1.SpringContext:提供框架式的Bean访问方式,以及企业级功能;2.SpringCore:核心类库,所有功能都......
  • spring-cron定时任务【@Scheduled(cron = “* * * * * *“)】
    1https://blog.csdn.net/HD243608836/article/details/1268862480010,14,16**?每天上午10点,下午2点,4点00/309-17**?朝九晚五工作时间内每半小时0012?*WED表示每个星期三中午12点"0012**?"每天中午12点触发"01510?**"每天上午10:15触发......
  • springcloud 整合sentinel
    一、参考官网:Sentinel·alibaba/spring-cloud-alibabaWiki·GitHub1.搭建sentinelDashborad     1.下载jar包: Releases·alibaba/Sentinel(github.com)     2.启动:java-Dserver.port=8080-Dcsp.sentinel.dashboard.server=localhost:8080-......
  • 浅尝 JWT 整合到 Spring Boot
    本文,我们将JWT整合到SpringBoot中。JWT是什么?JWT->JSONWebTokenJWT是一种开放标准(RFC7519),用于在网络应用中传递声明信息。JWT到一大优势是它的可扩展性和自包含性。它可以在各个系统之间进行安全传输和验证,因为它包含了所有必要的信息,并且经过签名保证了数据的完整性......
  • Spring Boot + k8s = 王炸!
    来源:https://blog.csdn.net/qq_14999375/article/details/123309636前言K8s+SpringBoot实现零宕机发布:健康检查+滚动更新+优雅停机+弹性伸缩+Prometheus监控+配置分离(镜像复用)配置健康检查健康检查类型:就绪探针(readiness)+存活探针(liveness)探针类型:exec(进入容器执行脚本......
  • Docker部署SpringBoot项目微服务
     登录linux服务器,进入目录  usr/local目录,创建两个文件夹使用alt+p快捷键,将windows目录中生成的jar包,拖到linux桌面使用cp命令,将linux桌面中jar包,复制到指定目录cplesson01-0.0.1-SNAPSHOT.jar/usr/local/docker/lesson01使用vi命令,编辑dockerfile,制作镜......