Spring Boot是什么?详解它的优缺点以及四大核心

news/2024/11/28 0:44:01/

作者:Insist--

个人主页:insist--个人主页

作者会持续更新网络知识和python基础知识,期待你的关注

目录

一、Spring Boot 是什么?

二、Spring Boot 的优缺点

1、优点

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

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

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

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

⑤提供生产就绪功能

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

2、缺点

三、Spring Boot 的四大核心

1、自动配置

2、起步依赖

3、Actuator

4、命令界面

四、Spring Boot 的应用场景

1、快速构建RESTful API服务

2、快速构建微服务架构

3、快速构建企业级应用

4、快速构建云原生应用


前言

本文将讲解Spring Boot是什么?详解它的优缺点、四大核心和应用场景。

307173c153be4109911e2801bcbf8f37.WEBP

一、Spring Boot 是什么?

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

二、Spring Boot 的优缺点

4e34b360590a4a8ea25a4a5d1c72d878.jpg

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 提供了对云原生应用的支持,包括对云服务的集成、对容器化应用的支持等,可以帮助你快速构建云原生应用。


http://www.ppmy.cn/news/470631.html

相关文章

Robosense M1/速腾半固态激光雷达M1 保姆级教程1-如何连接雷达?

引言 当我们拿到M1雷达时,可能会因为激光雷达是一个新的设备,没有用过,而感到紧张和局促。没有关系,通过阅读文本,可以让你轻而易举的上手使用激光雷达。 1认识M1接口 图中较粗的接口为雷达的电源接口。即通过这个接口…

大疆激光雷达Livox Avia开箱及测试

大疆激光雷达Livox Avia 箱子 从左至右为:大疆激光雷达Livox Avia ,电源转接插座,内六角形L型扳手,镜头清洁布,螺钉包,说明书,1.5米航插电源网口线,同步信号线(三个引脚…

Jeson nano + 思岚激光雷达rplidar_s1 + ubuntu18.04

首先在思岚官网下载rplidar_s1的ROS功能包(官网的下载和支持里),新建工作空间catkin_ws/src 接下来安装配置思岚RPLIDAR S1,首先在github上下载它的ROS包。 在工作空间的src下面下载官网ROS包。 git clone https://github.com/Slamtec/rplidar_ros.git检查rplidar…

架构师必须掌握的架构设计原则

如果一个架构或设计原则已经存在 15 年,例如单一职责和依赖倒置原则,我可以预期它还有 15 年甚至更久的生命期。原则是比具体技术更抽象,更接近事物本质,也更经得起时间考验的东西。这些原则沉淀在架构师的脑海中,最终…

C++拷贝构造函数

文章目录 拷贝构造函数是一个c的默认成员函数,它是用来拷贝对象的,当你想修改对象,但是又不想修改它本身,那么可以将其拷贝给一个对象对这个拷贝出来的对象进行操作 拷贝构造函数语法:类名(const 类名&…

Jetpack Compose Material3 组件之 DatePicker(日期选择)

前言 在之前我使用 Comose 写 APP 的时候,官方还没有给出关于 DatePicker 的解决方案。 当时为了在 Compose 中实现 DatePicker ,大致有两种方案: 一是使用原生 VIew 的 DatePicker,但是因为觉得我即然都用 Compose 了&#xf…

拉普拉斯方程解决有介质导体球壳问题

一个内径和外径分别为和的导体球壳,带电荷,同心地包围着一个的导体球,使这个导体球接地,求空间各点的电势和这个导体球的感应电荷 我们不难发现,球对称性非常强,电势只和半径有关系 所以我们可以假设电势为…

CVPR2022 多目标跟踪(MOT)汇总-补充篇

为该文章的后续补充https://blog.csdn.net/qq_34919792/article/details/124343166 七、《Multi-Object Tracking Meets Moving UAV》 作者: Shuai Liu†1, Xin Li†2, Huchuan Lu1,2, You He∗3 1Dalian University of Technology, 2Peng Cheng Laboratory, 3Naval Aeronaut…