再见 Spring Boot 1.X ,Spring Boot 2.X 走向舞台中心

2019年8月6日,Spring 官方在其博客宣布,Spring Boot 1.x 停止维护,Spring Boot 1.x 生命周期正式结束。

其实早在2018年7月30号,Spring 官方就已经在博客进行过预告,Spring Boot 1.X 将维护到2019年8月1日。 1.5.x 将会是 Spring Boot 1.0 系列的最后一个大版本。

如今 Spring Boot 1.X 版本最后将永久的定格在 v1.5.22.RELEASE,其实回想起来自从 Spring Boot 1.0 发布已经过去了 5 年多,相当于 Spring Boot 一年发布一个大的子版本,然后到了现在的 1.5.x。

而 Spring Boot 2.0.0 也于2018年3月1号正式发布,如今已经过了整整一年多,同时 Spring Boot 2.2 已经到了第五个里程碑。

Spring Boot 2.X 也是时候走向舞台中心接力 Spring Boot 1.x 的历史使命。

我们来回顾一下 Spring Boot 重大版本的历史节点:

  • 2014年04月01号,Spring Boot 发布 v1.0.0.RELEASE,Spring Boot 正式商用
  • 2014年06月11号,Spring Boot 发布 v1.1.0.RELEASE,主要修复了若干 Bug
  • 2014年12月11号,Spring Boot 发布 v1.2.0.RELEASE,此版本更新的特性比较多,主要集成了 Servlet 3.1,支持 JTA、J2EE 等。
  • 2015年11月16号,Spring Boot 发布 v1.3.0.RELEASE,增加了新 spring-boot-devtools 模块,缓存自动配置、颜色 banners 等新特性。
  • 2016年07月29号,Spring Boot 发布 v1.4.0.RELEASE,以 Spring 4.3 为基础进行的构建,更新了很多第三方库的支持,重点增加了 Neo4J, Couchbase、 Redis 等 Nosql 的支持。
  • 2017年01月30号,Spring Boot 发布 v1.5.0.RELEASE,更新了动态日志修改,增加 Apache Kafka、LDAP、事物管理等特性的支持。
  • 2018年03月01号,Spring Boot 发布 v2.0.0.RELEASE,2.0更新的内容就太多了,详情请参考:Spring Boot 2.0权威发布
  • 2018年10月30号,Spring Boot 发布 v2.1.0.RELEASE,主要更新了相关特性,详见:Spring Boot 2.1.0 权威发布

当时 Spring Boot 2.0 刚刚发布的时候,我说过一段话:

Spring Boot 2.0 是历时 4 年开发出来的巨作,在 Spring Boot 1.0 的基础上进行了大量的优化,淘汰了很多过期的 API,同时引入了一大批最新的技术,这些新技术在未来的一段时间内都具有引导性。

如果不是特别需要使用 Spring Boot 2.0 上面提到的新特性,就尽量不要着急进行升级,等 Spring Boot 2.0 彻底稳定下来后再使用。如果想要升级也请先从早期的版本升级到 Spring Boot 1.5.X 系列之后,再升级到 Spring Boot 2.0 版本,Spring Boot 2.0 的很多配置内容和 Spring Boot 1.0 不一致需要注意。

当时因为 Spring Boot 2.0 刚刚发布有一些特性可能不是特别稳定,并不推荐大家立刻在生产环境使用,但到了今天 Spring Boot 2.X 系列最新稳定版本已经到了 2.1.7,大家可以放心的在生产环境使用了。

生产中正在使用 Spring Boot 1.x 需要立刻升级吗?

Spring Boot 1.x 只是停止维护,并不是不能用了,如果你不是特别着急想用 Spring Boot 2.x 的新特性,再用个几年也是没有任何问题的。

另外,Spring Boot 1.x 到 2.x 中间更新了很多 API 以及依赖组件。升级时需要先将 Spring Boot 1.X 系列升级到 1.5.x,再从 1.5.x 升级到 2.x 最新稳定版本。

Spring Boot 2.x 对 Java 环境的要求最低为 JDK 8,可能还有很多的公司服务器还在 1.6 或者 1.7 的环境中跑着,升级的时候也需要先升级服务器的基础环境。

如果项目中使用了微服务架构,建议可以一个一个子服务进行升级,不要一次全部升级完成,保障整个服务在升级过程的稳定性。我之前写过 Spring Boot 1.x 升级 2.x 的文章,大家可以参考:Spring Boot 2.0 版的开源项目云收藏来了!。

最后祝愿 Spirng Boot 发展越来越好。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【Java】重写compareTo()方法给对象数组排序

我们先给一个数组排序,我们肯定用的是Arrays.sort()方法: public class test2 {public static void main(String[] args) {int[] arr{3,5,4,6,9,8,1};System.out.println(Arrays.toString(arr));System.out.println("---------");Arrays.sort…

【C语言初阶】指针的运算or数组与指针的关系你了解吗?

🎬 鸽芷咕:个人主页 🔥 个人专栏:《快速入门C语言》《C语言初阶篇》 ⛺️生活的理想,就是为了理想的生活! 文章目录 📋 前言💬 指针运算💭 指针-整数💭 指针-指针💭 指针…

【Java基础教程】(四十二)多线程篇 · 上:多进程与多线程、并发与并行的关系,多线程的实现方式、线程流转状态、常用操作方法解析~

Java基础教程之多线程 上 🔹本节学习目标1️⃣ 线程与进程🔍关于多进程、多线程、并发与并行之间的概念关系? 2️⃣ 多线程实现2.1 继承 Thread 类2.2 实现 Runnable 接口2.3 多线程两种实现方式的区别2.4 利用 Callable 接口实现多线程2.5 …

数学建模学习(4):TOPSIS 综合评价模型及编程实战

一、数据总览 需求:我们需要对各个银行进行评价,A-G为银行的各个指标,下面是银行的数据: 二、代码逐行实现 清空代码和变量的指令 clear;clc; 层次分析法 每一行代表一个对象的指标评分 p [8,7,6,8;7,8,8,7];%每一行代表一个…

为Android构建现代应用——设计原则

为Android构建现代应用——设计原则 - 掘金 state”是声明性观点的核心 在通过Compose或SwiftUI等框架设计声明性视图时,我们必须明确的第一个范式是State(状态)。UI组件结合了它的图形表示(View)和它的State(状态)。UI组件中发生变化的任何属性或数据都可以…

RuoYi-VUE : make sure to provide the “name“ option

前言 略 错误 错误原因 theme-picker 组件未被注册。 解决 src/App.vue代码恢复成若依的代码即可。&#xff08;PS&#xff1a;不知道代码被谁修改了&#xff09; 缺少这一段&#xff1a; <script> import ThemePicker from "/components/ThemePicker";…

hive基础

目录 DDL&#xff08;data definition language&#xff09; 创建数据库 创建表 hive中数据类型 create table as select建表 create table like语法 修改表名 修改列 更新列 替换列 清空表 关系运算符 聚合函数 字符串函数 substring:截取字符串 replace :替换…

C进阶:内存操作函数

内存操作函数 memcpy 头文件&#xff1a;string.h 基本用途&#xff1a;进行不相关&#xff08;不重叠的内存&#xff09;拷贝。 函数原型&#xff1a;void* memcpy(void* destination,//指向目标数据的指针 const void* source,//指向被拷贝数据的指针 size_t num);//拷贝的数…

分布式光伏电站监控及集中运维管理-安科瑞黄安南

前言&#xff1a;今年以来&#xff0c;在政策利好推动下光伏、风力发电、电化学储能及抽水蓄能等新能源行业发展迅速&#xff0c;装机容量均大幅度增长&#xff0c;新能源发电已经成为新型电力系统重要的组成部分&#xff0c;同时这也导致新型电力系统比传统的电力系统更为复杂…

【数据挖掘】时间序列的傅里叶变换:用numpy解释的快速卷积

一、说明 本篇告诉大家一个高级数学模型&#xff0c;即傅里叶模型的使用&#xff1b; 当今&#xff0c;傅里叶变换及其所有变体构成了我们现代世界的基础&#xff0c;为压缩、通信、图像处理等技术提供了动力。我们从根源上理解&#xff0c;从根本上应用&#xff0c;这是值得付…

HTML5——基础知识及使用

HTML 文件基本结构 <html><head><title>第一个页面</title></head><body>hello world</body> </html> html 标签是整个 html 文件的根标签(最顶层标签).head 标签中写页面的属性.body 标签中写的是页面上显示的内容.title 标…

实现外部缓存-Redis

目录 实现 RedisTemplate RedisTemplate的序列化 RedisSerializer 创建Redis缓存配置类 测试使用 创建配置类 创建注解测试实体 创建配置文件 创建单元测试类进行测试 实现 RedisTemplate XXXTemplate 是 Spring 的一大设计特色&#xff0c;其中&#xff0c;RedisTe…

Mybatis操作数据库执行流程的先后顺序是怎样的?

MyBatis是一个支持普通SQL查询、存储及高级映射的持久层框架&#xff0c;它几乎消除了JDBC的冗余代码。使Java开发人员可以使用面向对象的编程思想来操作数据库。对于MyBatis的工作原理和操作流程的理解&#xff0c;我们先来看下面的工作流程图。 MaBatis的工作流程 在上图中…

element的el-upload实现多个图片上传以及预览与删除

<el-form-itemlabel"实验室照片:"prop"labUrlList"v-if"ruleForm.labHave"><el-upload:action"urlUpload":headers"loadHeader"list-type"picture-card":file-list"ruleForm.labUrlList"class…

【el-tree查询并高亮】vue使用el-tree组件,搜索展开并选中对应节点,高亮搜索的关键字,过滤后高亮关键字,两种方法

第一种&#xff08;直接展开并高亮关键字&#xff09; 效果图这样的&#xff0c;会把所有的有这些关键字的节点都展开 代码&#xff1a; 这里的逻辑就是通过递归循环把所有和关键字匹配的节点筛选出来 然后通过setCheckedKeys方法把他展开选中 然后通过filterReal把关键字高亮…

数据库redis作业

数据库redis作业 redis9种数据类型的基本操作 redis持久化&#xff1a;分别启用rdb和aof&#xff0c;并查看是否有对应文件生成 作业1&#xff1a;redis9种数据类型的基本操作 1、key操作 key * #查询所有的key keys *exists 参数 #参数&#xff1a;key #判断该key是否存…

【ADS】ADS复制原理图或版图到另一个工程

直接Ctrl CCtrl V无法粘贴 可以先导入要复制的工程 加入工程&#xff0c;复制完后在勾掉工程

单独在文件中打开allure生成的index.html报告时却显示为loading

【问题描述】&#xff1a;单独在文件中打开allure生成的index.html报告时显示为loading&#xff0c;如下图&#xff1a; 【问题定位】&#xff1a;其实在allure-report下index.html文件是不能直接打开的&#xff0c;出现页面都是loading的情况&#xff0c;这是因为直接allure报…

Rust 数据类型 之 类C枚举 c-like enum

目录 枚举类型 enum 定义和声明 例1&#xff1a;Color 枚举 例2&#xff1a;Direction 枚举 例3&#xff1a;Weekday 枚举 类C枚举 C-like 打印输出 强制转成整数 例1&#xff1a;Weekday 枚举 例2&#xff1a;HttpStatus 枚举 例3&#xff1a;Color 枚举 模式匹配…

使用 Docker 快速上手官方版 LLaMA2 开源大模型

本篇文章&#xff0c;我们聊聊如何使用 Docker 容器快速上手 Meta AI 出品的 LLaMA2 开源大模型。 写在前面 昨天特别忙&#xff0c;早晨申请完 LLaMA2 模型下载权限后&#xff0c;直到晚上才顾上折腾了一个 Docker 容器运行方案&#xff0c;都没来得及写文章来聊聊这个容器怎…