SpringBoot篇(一、认识SpringBoot)

目录

一、SpringBoot存在的意义

二、为什么要用SpringBoot

三、SpringBoot的优点

四、Spring & Spring Boot & Spring Cloud的关系

五、SpringBoot简化操作的体现

1. 创建独立的 Spring 应用程序

2. 嵌入式 servlet 容器

3. 提供 starter简化 Maven 配置

4. 自动配置 Spring

5. 准生产的应用监控

6. 快速适应Spring

7. 统一版本管理


一、SpringBoot存在的意义

随着 Spring 的飞速发展,新功能不断增加,Spring 变得越来越复杂,为了进一步简化,从而出现

了SpringBoot。Spring  Boot是由Pivotal团队提供的基于Spring的框架,主要用来简化 Spring 应用

的初始搭建和开发过程。

二、为什么要用SpringBoot

1、Spring Boot 是 Spring 生态下的一个子项目,用于快速、敏捷地开发新一代基于 Spring  框架的应用程序。

2、Spring是SpringBoot的Spring Boot  是 Spring Cloud 的基础

3、SpringBoot 按照“约定优于配置”的设计思想封装成 Starters 组件,它将目前各种比较成熟的服务框架和第

三方组件组合起来,如 Redis、MongoDB、JPA、RabbitMQ、Quartz 等

4、在 Spring Boot  应用中几乎可以零配置地使用这些组件,达到开箱即用的效果,从而从繁杂的配置中解放出

来,更加专注于业务逻辑的开发。

三、SpringBoot的优点

  • 快速构建:使用 Spring Initializr 可以快速创建项目,同时提供了丰富的解决方案,便于快速集成各种解决方案,提升开发效率。
  • 简化依赖:提供丰富的 Starters,简化 Maven 配置,避免版本兼容问题。
  • 一键部署:内嵌 Servlet 容器,如 Tomcat、Jetty,能够直接打包成可执行 JAR 文件独立运行,支持 Jenkins、Docker,轻松实现自动化运维。
  • 应用监控:自带 Actuator 监控组件,轻松监控服务的各项状态。使用 Spring Boot Admin 可以轻松部署功能完善的应用监控系统。

四、Spring & Spring Boot & Spring Cloud的关系

正是由于 IOC 和 AOP 这两个强大的功能才有了强大的 Spring;

Spring 生态不断地发展才有了 Spring Boot;Spring Boot 开发、部署的简化,使得 Spring Cloud 微服务治理

方案彻底落地。

五、SpringBoot简化操作的体现

1. 创建独立的 Spring 应用程序

springboot可以以jar包的形式独立运行,运行一个springboot项目只需要通过java -jar xxxx.jar来运行

2. 嵌入式 servlet 容器

嵌入式servlet容器(tomcat、jetty或者Undertow),无需部署 WAR 文件

3. 提供 starter简化 Maven 配置

springboot 提供了一系列的starter pom来简化Maven的依赖加载

4. 自动配置 Spring

开箱即用,没有代码生成,也无需 XML 配置,同时也可以修改默认值来满足特定的需求

5. 准生产的应用监控

springboot提供基于http、ssh、telnet对运行时的项目进行监控

6. 快速适应Spring

Spring Boot 并不是对 Spring 功能上的增强,而是提供了一种快速使用 Spring 的方式

7. 统一版本管理

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/57317.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Spring声明式事务管理:深入探索XML配置方式

前言 Spring的事务管理,无论是基于xml还是注解实现,本质上还是实现数据库的事务管理机制,因此要注意发送SQL的连接是否为同一个,这是实现声明式事务的关键。 以下案例和实现基于SSM整合框架完成,不知道如何整合SSM&…

【K8S系列】Kubernetes Pod 状态详细介绍及异常状态解决方案

在 Kubernetes 中,Pod 是最小的可调度单元,负责运行一个或多个容器。Pod 的状态能够反映其生命周期中的不同阶段,帮助用户了解当前的运行状况。本文将详细介绍 Kubernetes Pod 的各种状态及其可能的异常状态解决方案。 一、Pod 状态概览 Po…

查缺补漏----数据结构树高总结

① 对于平衡二叉树而言,树高的规律: 高度为h的平衡二叉树的含有的最少结点数(所有非叶节点的平衡因子均为1): n01,n11,n22 含有的最多结点数: (高度为h的满二叉树含有的结点数) ②…

Flutter在 iOS 中实现无弹窗获取剪切板内容

前言 在最新的项目需求中,我们需要在获取剪切板内容时避免弹出授权提示。这一功能是基于竞品的实现,旨在优化用户体验,特别是在推广获取跳转链接的场景下非常有用。 解决方案 通过查阅资料,我们发现对于 iOS 16 及以上的系统&a…

Fusion创建一个简单的api脚本文件

我的Fusion版本:Fusion 2.0.20476 x86_64 脚本模块在实用程序->附加模型->脚本和附加模块,快捷键为shifts 里面有一些演示脚本,可以直接使用 也可以自己创建一个新的脚本 创建的脚本在此处—— 选择脚本文件,点击编辑&a…

Unity Mirror NetworkManager初识

文章目录 Network Manager网络管理器什么是网络管理器?通过Transports进行定制化网络连接管理自定义连接地址和端口号Game State Management游戏状态管理Network Manager HUD玩家预制体及其生成控制Spawn Prefabs其他预制体注册Scene Management场景管理 Network Ma…

在Windows系统中,cmd 查看 MongoDB 相关信息

MongoDB是一种流行的NoSQL数据库,广泛应用于各种现代应用程序中。 1 查看MongoDB的版本号 要查看MongoDB的版本号,可以使用mongo命令连接到MongoDB,然后执行db.version()。 mongo连接到数据库后,执行以下命令,输出M…

读数据工程之道:设计和构建健壮的数据系统16源系统实际细节(下)

1. 数据共享 1.1. 云数据共享的核心概念是,多租户系统支持租户之间共享数据的安全策略 1.2. 任何具有细粒度权限系统的公有云对象存储系统都可以成为数据共享的平台 1.3. 数据共享也简化了数据市场的概念,在几个流行的云和数据平台上都可用 1.4. 数据…

RabbitMQ系列学习笔记(三)--工作队列模式

文章目录 一、工作队列模式原理二、工作队列模式实战1、抽取工具类2、消费者代码3、生产者代码4、查看运行结果 本文参考 尚硅谷RabbitMQ教程丨快速掌握MQ消息中间件rabbitmq RabbitMQ 详解 Centos7环境安装Erlang、RabbitMQ详细过程(配图) 一、工作队列模式原理 与简单模式相…

SpringBoot篇(二、制作SpringBoot程序)

目录 一、代码位置 二、四种方式 1. IDEA联网版 2. 官网 3. 阿里云 4. 手动 五、在IDEA中隐藏指定文件/文件夹 六、复制工程-快速操作 七、更改引导类别名 一、代码位置 二、四种方式 1. IDEA联网版 2. 官网 官网制作:Spring Boot 3. 阿里云 阿里云版制…

基于SSM+微信小程序的家庭记账本管理系统(家庭1)

👉文末查看项目功能视频演示获取源码sql脚本视频导入教程视频 1、项目介绍 1、管理员端功能有首页、个人中心、用户管理,消费详情管理、收入详情管理、系统管理等。 2、用户端功能有首页、消费详情、收入详情、论坛信息、我的等功能。 2、项目技术 …

django5入门【02】创建新的django程序

注意: ⭐前提:已经安装了python以及django所依赖的包1、通过django-admin管理工具在命令行创建Django应用程序,创建命令如下: django-admin startproject ProjectName❓ 疑问:除了使用命令行创建django程序外&#x…

OCR经典神经网络(三)LayoutLM v2算法原理及其在发票数据集上的应用(NER及RE)

OCR经典神经网络(三)LayoutLM v2算法原理及其在发票数据集上的应用(NER及RE) LayoutLM系列模型是微软发布的、文档理解多模态基础模型领域最重要和有代表性的工作: LayoutLM v2:在一个单一的多模态框架中对文本(text)、布局&…

eQEP正交解码

目录 基本介绍 整体框架 关键模块 编译问题 实验效果 基本介绍 编码器是一种将角位移或者角速度转换成一连串电数字脉冲的旋转式传感器,我们可以通过编码器测量到位移或者速度信息。编码器从输出数据类型上分,可以分为增量式编码器和绝对式编码器。…

深入浅出MySQL:概述与体系结构解析

目录 1. 初识MySQL1.1. 数据库1.1.1. OLTP(联机事务处理)1.1.2. OLAP(联机分析处理) 2. SQL2.1. 定义2.2. DQL(数据查询语言)2.3. DML(数据操纵语言)2.4. DDL(数据定义语…

Python基于OpenCV的实时疲劳检测

2.检测方法 1)方法 与用于计算眨眼的传统图像处理方法不同,该方法通常涉及以下几种组合: 1、眼睛定位。 2、阈值找到眼睛的白色。 3、确定眼睛的“白色”区域是否消失了一段时间(表示眨眼)。 相反,眼睛长…

Python网络请求库requests的10个基本用法

大家好!今天我们要聊聊Python中非常实用的一个库——requests。这个库让发送HTTP请求变得超级简单。无论你是想抓取网页数据还是测试API接口,requests都能派上大用场。下面我们就一起来看看如何使用requests完成一些常见的任务。 引言 随着互联网技术的…

队列(数据结构)——C语言

目录 1.概念与结构 2.队列的实现 初始化QueueInit 申请新节点BuyNode 入队QueuePush 判断队为空QueueEmpty 出队QueuePop 读取队头数据QueueFront 读取队尾数据QueueBack 元素个数QueueSize 销毁队列QueueDestroy 3.整体代码 (文章中结点和节点是同一个意思) 1.概…

keil兼容C51和ARM,C251

三合一 C51,AEM,C251获取STC32的包 将 C51,AEM,C251安装到一块。 C51,AEM,C251 将三个软件分别下载到不同的文件夹KEIL,MDK,KEIL2里。 然后打开KEIL,MDK,KEIL2文件夹,复制KEIL文件夹里的C51和KEIL2文件夹里的C251的文件夹到MDK文件夹里。 打开KEIL和KEIL2文件夹里…

单链表的经典算法OJ

目录 1.反转链表 2.链表的中间节点 3.移除链表元素 ——————————————————————————————————————————— 正文开始 1.反转链表 typedef struct ListNode ListNode; struct ListNode* reverseList(struct ListNode* head) {//判空if(…