为什么要开发SpringBoot?

news2024/12/27 14:02:59

Spring配置繁琐 虽然Spring的组件代码是轻量级的,但它的配置却是重量级的。一开始,Spring用XML配置,而且是很多 XML配置。Spring 2.5引入了基于注解的组件扫描,这消除了大量针对应用程序自身组件的显式XML配置。Spring 3.0引入了基于Java的配置,这是一种类型安全的可重构配置方式,可以代替XML。所有这些配置都代表了开发时的损耗。因为在思考Spring特性配置和解决业务问题之间需要进行思维切换,所以编写配置挤占了编写应用程序逻辑的时间。和所有框架一样,Spring实用,但它要求的回报也不少。

依赖繁琐 项目的依赖管理也是一件耗时耗力的事情。在环境搭建时,需要分析要导入哪些库的坐标,而且还需要分析导 入与之有依赖关系的其他库的坐标,一旦选错了依赖的版本,随之而来的不兼容问题就会严重阻碍项目的开发进度。

SpringBoot提供了一种快速使用Spring的方式,基于约定优于配置的思想,可以让开发人员不必在配置与逻 辑业务之间进行思维的切换,全身心的投入到逻辑业务的代码编写中,从而大大提高了开发的效率,一定程度 上缩短了项目周期。2014 年 4 月,Spring Boot 1.0.0 发布。Spring的顶级项目之一(https://spring.io)。

在这里插入图片描述
SpringBoot 功能

1) 自动配置

Spring Boot的自动配置是一个运行时(更准确地说,是应用程序启动时)的过程,考虑了众多因素,才决定Spring配置应该用哪个,不该用哪个。该过程是SpringBoot自动完成的。

2) 起步依赖

起步依赖本质上是一个Maven项目对象模型(Project Object Model,POM),定义了对其他库的传递依赖,这些东西加在一起即支持某项功能。简单的说,起步依赖就是将具备某种功能的坐标打包到一起,并提供一些默认的功能。

3) 辅助功能

提供了一些大型项目中常见的非功能性特性,如嵌入式服务器、安全、指标,健康检测、外部配置等。Spring Boot 并不是对 Spring 功能上的增强,而是提供了一种快速使用 Spring 的方式

SpringBoot 2.X有什么新特性?与1.X有什么区别?

Spring Boot 2.0需要Java 8作为最低版本。许多现有的API已经更新,以利用Java 8的功能,例如:接口上的默认方法,功能回调和新的API,如javax.time。如果您当前使用的是Java 7或更早版本,那么在开发Spring Boot2.0应用程序之前,需要升级JDK。

Spring Boot 2.0也运行良好,并且已经过JDK 9的测试。我们所有的jar都在模块系统兼容性的清单中附带自动模块名称条目。

·配置变更

在2.x 中废除了一些1.x 中的配置,并增加了许多新配置,

·依赖JDK版本升级

2.x至少需要JDK 8 的支持,2.x里面的许多方法应用了JDK 8的许多高级新特性,所以你要升级到2.0 版本,先确认你的应用必须兼容JDK 8。另外,2.x开始了对JDK 9的支持。

·第三方类库升级

2.x 对第三方类库升级了所有能升级的稳定版本,一些值得关注的类库升级我给列出来了。

  1. Spring Framework 5+

  2. Tomcat 8.5+

  3. Flyway 5+

  4. Hibernate 5.2+

  5. Thymeleaf 3+

·配置属性绑定

在1.x中,配置绑定是通过注解@ConfigurationProperties来注入到Spring环境变量中的。

在2.x中,配置绑定功能有了些的改造,在调整了1.x中许多不一致地方之外,还提供了独立于注解之外的API来装配配置属性。并增加了属性来源,这样你就能知道这些属性是从哪个配置文件中加载进来的。

SpringBoot2全套视频教程:

SpringBoot2全套视频教程,springboot零基础到项目实战

Java最新课程:

Java零基础视频教程(2022最新Java入门,含斯坦福大学练习题+力扣算法题

Java基础入门:

java零基础自学首Java入门教程(含Java项目和Java真题)

Javaweb核心基础

JavaWeb基础教程,Java web从入门到企业实战完整版

Spring Cloud最全微服务架构

史上最全面的springcloud微服务技术栈

SSM框架教程:

SSM框架教程_Spring+SpringMVC+Maven高级+Spring

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

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

相关文章

计算机图形学 第4章 多边形填充

目录前驱知识多边形的扫描转换有效边表填充算法原理边界像素处理原则怎么算交点有效边桶表与边表桶表表示法边缘填充算法填充过程在这里插入图片描述区域填充算法/种子填充算法种子填充算法扫描线种子填充算法 (更有效)前驱知识 了解扫描转换的基本概念…

九龙证券|兔年行情将打响,A股2月上涨概率最高

兔年行情行将正式打响,迎接投资者的会否是 “兔”飞猛进的行情呢?证券时报数据宝带您一起透视兔年股票上涨概率。 A股新年后上扬概率高 从近10年A股新年后的市场体现来看,头几个买卖日大概率上涨。 数据宝统计,曩昔10年&#xf…

国内在线图表工具,你能说出几个?

之前写过很多篇在线图表、数据分析处理类工具的内容,但都是针对单个问题写的,没有将其整合起来,今天就借着这个问题,做个国内在线图表工具的合集。 一共5大类,每一类各介绍一个代表性工具,全文较长&#x…

【c语言进阶】文件操作知识大全上

🚀write in front🚀 📜所属专栏:> c语言学习 🛰️博客主页:睿睿的博客主页 🛰️代码仓库:🎉VS2022_C语言仓库 🎡您的点赞、关注、收藏、评论,是…

15. XML解析

1. 什么是 XML? XML 指可扩展标记语言(EXtensible Markup Language)。 a. XML 是一种很像HTML的标记语言。 b. XML 的设计宗旨是传输数据,而不是显示数据。 c. XML 标签没有被预定义。您需要自行定义标签。 d. XML 被设计为具有自…

Tomcat详解

Tomcat 是一个 HTTP 服务器. 前面我们已经学习了 HTTP 协议, 知道了 HTTP 协议就是 HTTP 客户端和 HTTP 服务器之间的交互数据的格式. 同时也通过 ajax 和 Java Socket 分别构造了 HTTP 客户端. HTTP 服务器我们也同样可以通过 Java Socket 来实现. 而 Tomcat 就是基于 Java 实…

星戈瑞--磺化CY7标记活性脂Sulfo CY7-NHS注意事项你知道那些?

Sulfo-Cy7 NHS酯是一种磺化、亲水性和高度水溶性染料。该试剂允许制备Cy7标记的生物分子,特别适用于标记脆弱的蛋白质和易变性的蛋白质。染料标记的分子可用于各种研究相关的实验。近红外荧光成像利用了生物组织在特定波长范围内的透明度。在活生物体中,…

2. Kimball的DW/BI架构解析

文章目录Kimball的DW/BI架构1. 业务系统(数据源系统)2. 获取-转换-加载(ETL)系统3. 用于支持BI(商业智能)决策的展现区4. 商业智能应用引言:DW,即Data Warehouse,数据仓库…

LLA: Loss-aware Label Assignment for Dense Pedestrian Detection 原理与代码解析

paper:LLA: Loss-aware Label Assignment for Dense Pedestrian Detectioncode:https://github.com/Megvii-BaseDetection/LLA背景标签分配由于对检测器的性能影响很大,在通用目标检测中得到了广泛的研究,但是密集行人检测中的标签…

【SpringCloud复习巩固】Gateway

目录 一.统一网关Gateway 1.1为什么需要网关 1.2网关的技术实现 1.3网关的作用 1.4搭建网关服务 1.5路由断言工厂Route Predicate Factory 1.6路由过滤器GatewayFilter 1.7全局过滤器GlobalFilter 1.8过滤器执行顺序 1.9跨域问题解决 一.统一网关Gateway 1.1为什么需…

《流浪地球2》里的硬核科技,IT人带入了

《流浪地球2》不负期待,上映后口碑和热度一路高歌猛进,霸坐春节档,稳居票房TOP2。硬核科技惊喜不断,如喷出冲天蓝光的行星发动机、洞悉一切的量子计算机、高耸入云的太空电梯…… 逼真的特效质感以及浓厚的重工业美学掀起科技新热…

UE4中修改模型的中心点

UE4系列文章目录 文章目录UE4系列文章目录前言一、增加scenen空组件前言 在UE4中的模型中心点一般都在模型的中点,如果是门这样的模型,我们就不能绕中心点旋转了,不然会觉得很奇怪。但是默认的静态网格体中心点都在物体中心,那我…

易观千帆 | 2022年12月银行APP月活跃用户规模盘点

易观千帆:12月手机银行服务应用活跃人数51688.69万,环比下降1.81%。结合历史数据,2022年9月达到全年高峰的54191.75万,总体来看保持波动增长。12月农商行手机银行服务应用活跃人数1580.59万,环比下降3.01%。农商行手机…

scrapy的概念作用和工作流程

scrapy的概念和流程 学习目标: 了解 scrapy的概念了解 scrapy框架的作用掌握 scrapy框架的运行流程掌握 scrapy中每个模块的作用 1. scrapy的概念 Scrapy是一个Python编写的开源网络爬虫框架。它是一个被设计用于爬取网络数据、提取结构性数据的框架。 Scrapy 使…

K8s简介之什么是K8s

1.概述 欢迎来到K8s入门课程。Kubernetes,也被称为K8s或Kube,是谷歌推出的业界最受欢迎的容器编排器。本K8s教程由一系列关于K8s的文章组成。在第一部分,我们将讨论什么是K8s和K8s的基本概念。 本课程是专为初学者开设的,你可以…

Java个人遇到问题汇总

问题汇总1. 虚拟机1.1 CentOS71) 连不上网络问题解决1.2 Docker1) 私服配置无法重启docker问题解决后续2. SSMP2.1 Spring1) 测试类一直空指针问题解决2.2 MyBatis MyBatis-Plus1) IDEA加入方言后SQL语句依然不提示解决2) MP更新数据,更新了其他列问题解决3.SpringBoot3.1 Thym…

nginx学习笔记8(小滴课堂)

nginx第三方利器---OpenRestyLua介绍 OpenRestyLua的相关环境准备 我们先来去安装我们的OpenResty: 我们按照官网的要求去配置就可以了: 按照官网的步骤一步一步去走就可以了。 然后我们开始去安装我们的OpenResty: 这里有非常多的安装包吧,我们到时候需…

硬件---计算机概论

电脑硬件的五大单元 输入单元:包括键盘、鼠标、卡片阅读机、扫描仪、手写板、触控屏幕等等一堆;主机部分(控制单元、算数逻辑单元与主存储器):这个就是系统单元,被主机机壳保护住了,里面含有一堆板子、CPU 与主存储器…

为什么u盘不显示数据?u盘不显示数据恢复的3种方法

虽然u盘在数据备份、重装系统或其他领域中都能发挥很大的作用,但是在使用过程中难免会遇到一些问题,比如u盘数据不显示!那么,遇到u盘不显示数据怎么解决呢?阅读本文,您将知晓u盘不显示数据的常见原因和相应…

Deep Learning Tuning Playbook(中译版)

前言 由五名研究人员和工程师组成的团队发布了《Deep Learning Tuning Playbook》,来自他们自己训练神经网络的实验结果以及工程师的一些实践建议,目前在Github上已有1.5k星。原项目地址本文为《Deep Learning Tuning Playbook》中文翻译版本&#xff0…