Spring Boot 3.2发布:大量Java 21的支持上线,改进可观测性

news2024/12/23 1:48:53

就在今天凌晨,Spring Boot 3.2正式发布了!该版本是在Java 21正式发布之后的重要支持版本,所以在该版本中包含大量对Java 21支持的优化。

下面,我们分别通过Spring官方发布的博文和Josh Long长达80+分钟的介绍视频,一起认识一下Spring Boot 3.2最新版本所带来的全新内容。

  • 官方博文:https://spring.io/blog/2023/11/23/spring-boot-3-2-0-available-now
  • Josh Long的视频:https://www.youtube.com/watch?v=dMhpDdR6nHw

最新特性

通过官方博文的介绍,可以有个大致的最新特性了解,其中包括:

  • 支持虚拟线程
  • 对JVM Checkpoint Restore的初步支持(CRaC项目)
  • SSL 捆绑包重新加载
  • 大量可观察性改进
  • 支持 RestClient
  • 支持 JdbcClient
  • 支持 Jetty 12
  • Apache Pulsar 对 Spring 的支持
  • 对 Kafka 和 RabbitMQ 的 SSL 捆绑支持
  • 重新设计的嵌套 Jar 处理
  • Docker 镜像构建改进

此外,对于依赖的更新列表,因为比较长,这里DD就不列出来了,感兴趣的可以点击这里查看

视频介绍

下面,可以把关注点放到John Long的介绍视频里。一如既往的干货视频!通过在线编码的方式,直观的给大家展示新功能的魅力。

Tips:Josh Long的视频如果您不方便访问的话,DD这边给大家下载好了,同时也做了一份翻译字幕和中文配音视频。有需要观看的视频的小伙伴可以通过关注公众号:程序猿DD,发送关键词:springboot,获取下载链接。

下面是关于视频的总结,可以先大概看一下视频内容,感兴趣的话可以下载观看:

[00:16] Spring Boot 3.2带来了许多新功能,包括支持虚拟线程和Project Loom、改进的可观察性支持、可重载的SSL支持等。

  • Spring Boot 3.2带来了许多新功能,包括虚拟线程和Project Loom。
  • Java 21是Spring Boot 3.2的一个重要特性。
  • Java 21引入了一些新的语法变化,如封闭类型、模式匹配、智能开关表达式和记录。
  • Java 21被称为数据导向编程,旨在改进Java在大型单体应用中的表现。

[10:13] 使用字符串格式化和多行变量非常方便,还有一些新的特性,如模式匹配和解构操作符。

  • 字符串格式化和多行变量是方便的选项。
  • 新特性包括记录、密封类型、智能开关表达式和模式匹配。
  • 目前还没有解构操作符,但正在开发中。
  • 项目Loom虚拟线程是Java 21中的重要特性。

[20:27] 在这个片段中,演示了创建一个跳过重复项的集合,并使用线程来记录当前线程的名称和休眠100毫秒。

  • 创建了一个跳过重复项的集合。
  • 使用线程记录当前线程的名称。
  • 休眠100毫秒。
  • 演示了使用虚拟线程来执行Java代码。

[30:41] 在Spring Boot 3.2中,我们将使用Java 21、Maven和一些支持库来构建一个与SQL数据库通信的应用程序。

  • 使用了test containers API来启动Docker镜像。
  • 使用了spring boot starter jdbc依赖来连接PostgreSQL数据库。
  • 通过添加特定的配置来启动PostgreSQL容器。

[40:57] 使用Spring Boot 3.0中的声明式接口可以更简化代码,提供一个给定URL请求的猫事实。

  • 可以使用新的JDBC和REST客户端来调用端点。
  • 使用Project Loom和Drava 21,可以在Spring应用程序的不同层级中获得一致的虚拟线程集成。
  • 这种方法既具备了阻塞API的便利性,又不会丧失可用性。
  • 可以使用声明式接口来实现给定URL请求的猫事实。

[51:09] Spring框架中有一个称为SmartLifeCycle的接口,可以用来表示典型Spring生命周期的方法。

  • SmartLifeCycle是一个更智能的版本,用于让用户消费。
  • SmartLifeCycle的方法与检查点方法对应。
  • 可以使用SmartLifeCycle来管理应用程序的启动和停止。
  • 在这个例子中,通过实现SmartLifeCycle接口,可以实现应用程序的启动和停止功能。

[01:01:23] 通过一个文件来生成唯一的键值对,并且配置了一个自签名的SSL证书。

  • 在一个文件中写入数字,每次运行时递增并写入文件。
  • 生成的键值对是唯一的,用于展示随时间变化。
  • 配置了自签名的SSL证书,并通过指定端口号8443来使用。

[01:11:38] 在本地机器上,我们可以通过Zipkin来查看分布式追踪的图形

  • 使用Docker compose启动Zipkin实例
  • 在应用代码中增加采样概率
  • 通过aop支持在类路径上添加注解来显示跟踪ID和跨度ID
  • 通过Zipkin可以查看请求日志和服务之间的跳转

如果您学习过程中如遇困难?可以加入我们超高质量的Spring技术交流群,参与交流与讨论,更好的学习与进步!更多Spring Boot教程可以点击直达!,欢迎收藏与转发支持!

欢迎关注我的公众号:程序猿DD。前沿技术早知道,弯道超车有希望!积累超车资本,从关注DD开始!

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

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

相关文章

中国信息通信研究院发布《全球数字治理白皮书》调”转变

加gzh“大数据食铁兽”,回复“20231123”,获取材料完整版 导读 中国信息通信研究院连续第三年发布《全球数字治理白皮书》本年度报告在延续以往对全球数字治理核心议题和重要机制进展评估展望的基础上,首次尝试提出全球数字治理的定义和体…

易点易动固定资产管理系统:实现全面的固定资产采购管理

在现代企业中,固定资产采购管理是一项关键的任务。为了确保企业的正常运营和发展,有效管理和控制固定资产采购过程至关重要。易点易动固定资产管理系统为企业提供了一种全面的解决方案,整合了从采购需求、采购计划、询比价、采购合同到采购执…

Linux系统编程 day04 文件和目录操作

Linux系统编程 day04 文件和目录操作 1. 文件IO1.1 open 函数1.2 close函数1.3 read函数1.4 write函数1.5 lseek函数1.6 errno变量1.7 文件示例1 读写文件1.8 文件示例2 文件大小的计算1.9 文件示例3 扩展文件大小1.10 文件示例4 perror函数的使用1.11 阻塞与非阻塞的测试 2. 文…

绽放独特魅力,点亮美好生活

2023年10月至11月,由益田社区党委主办、深圳市罗湖区懿米阳光公益发展中心承办,深圳市温馨社工服务中心协办的“2023年益田社区益田佳人--女性成长课堂”项目顺利完成,此项目分为四个主题,分别是瑜伽、健身操、收纳、花艺技能&…

Docker可视化管理界面工具Portainer安装

Portainer是Docker容器管理界面工具,可以直观的管理Docker。 部署也很简单: 官方安装文档地址 1、创建数据卷 docker volume create portainer_data2、下载允许容器 docker run -d -p 8000:8000 -p 9443:9443 --name portainer --restartalways -v /v…

[Linux] 冯诺依曼体系结构 与 操作系统

文章目录 1、冯诺依曼体系结构2、操作系统 1、冯诺依曼体系结构 冯诺依曼结构也称普林斯顿结构,是一种将程序指令存储器和数据存储器合并在一起的存储器结构。程序指令存储地址和数据存储地址指向同一个存储器的不同物理位置,因此程序指令和数据的宽度相…

用EasyAVFilter将网络文件或者本地文件推送RTMP出去的时候发现CPU占用好高,用的也是vcodec copy呀,什么原因?

最近同事在用EasyAVFilter集成在EasyDarwin中做视频拉流转推RTMP流的功能的时候,发现怎么做CPU占用都会很高,但是视频没有调用转码,vcodec用的就是copy,这是什么原因呢? 我们用在线的RTSP流就不会出现这种情况&#x…

vue实现海康H5视频插件播放视频的实例,实现取流失败了之后重新获取新的流播放视频

vue实现海康H5视频插件播放视频的实例,实现取流失败了之后重新获取新的流播放视频 h5player是一个基于HTML5的流式网络视频播放器,无需安装浏览器插件即可通过websocket协议向媒体服务取流播放多种格式的音视频流。 首先去海康开发平台,把插…

基于springboot实现家乡特色推荐系统项目【项目源码+论文说明】计算机毕业设计

基于springboot实现家乡特色推荐系统演示 摘要 在Internet高速发展的今天,我们生活的各个领域都涉及到计算机的应用,其中包括家乡特色推荐的网络应用,在外国家乡特色推荐系统已经是很普遍的方式,不过国内的管理网站可能还处于起步…

(保姆级教程)Mysql中索引、触发器、存储过程、存储函数的概念、作用,以及如何使用索引、存储过程,代码操作演示

讲解 MySQL 中索引、触发器、存储过程、存储函数的使用 文章目录 1. 索引1.1 索引的分类1.2 索引的设计原则1.3 如何使用(create index) 2. 触发器2.1 触发器的分类2.2 如何使用(create trigger) 3. 存储过程3.1 如何使用&#xf…

2023.11.23使用flask实现在指定路径生成文件夹操作

2023.11.23使用flask实现在指定路径生成文件夹操作 程序比较简单,实现功能: 1、前端输入文件夹 2、后端在指定路径生成文件夹 3、前端反馈文件夹生成状态 main.py from flask import Flask, request, render_template import osapp Flask(__name__)a…

c语言十进制转二进制

以下是一个将十进制数转换为二进制数的C语言代码示例&#xff1a; #include <stdio.h>void decimal_to_binary(int decimal) { int binary[32]; int i 0; while (decimal > 0) { binary[i] decimal % 2; decimal / 2; i; } pr…

使用Pytorch从零开始构建GRU

门控循环单元 (GRU) 是 LSTM 的更新版本。让我们揭开这个网络的面纱并探索这两个兄弟姐妹之间的差异。 您听说过 GRU 吗&#xff1f;门控循环单元&#xff08;GRU&#xff09;是更流行的长短期记忆&#xff08;LSTM&#xff09;网络的弟弟&#xff0c;也是循环神经网络&#x…

HCIP-七、IS-IS 综合实验

七、IS-IS 综合实验 实验拓扑实验需求及解法1.如图所示&#xff0c;配置所有路由器的接口IP地址。2.运行IS-IS&#xff0c;进程号13.IS-IS优化4.路径优化 实验拓扑 实验需求及解法 本实验模拟IS-IS综合网络&#xff0c;完成以下需求&#xff1a; 1.如图所示&#xff0c;配置所…

Python模块之yaml:简化配置与数据解析

更多Python学习内容&#xff1a;ipengtao.com YAML&#xff08;YAML Aint Markup Language&#xff09;是一种人类可读的数据序列化格式&#xff0c;常用于配置文件和数据传输。在Python中&#xff0c;可以使用PyYAML模块来处理YAML格式的数据。本文将深入介绍PyYAML的基础用法…

C++学习之路(二)C++如何实现一个超简单的学生信息管理系统?C++示例和小项目实例

这个示例实现了一个简单的学生信息管理系统。它包括了学生类的定义&#xff0c;可以添加学生信息、显示所有学生信息&#xff0c;将学生信息保存到文件并从文件加载信息。通过这个示例&#xff0c;你可以了解到如何使用类、函数和文件操作来构建一个基本的信息管理系统。 一个简…

基于springboot实现大学生就业服务平台系统项目【项目源码】计算机毕业设计

基于springboot实现大学生就业服务平台系统演示 Java技术 Java是由SUN公司推出&#xff0c;该公司于2010年被oracle公司收购。Java本是印度尼西亚的一个叫做爪洼岛的英文名称&#xff0c;也因此得来java是一杯正冒着热气咖啡的标识。Java语言在移动互联网的大背景下具备了显著…

OSG编程指南<九>:坐标系统及坐标系变换

1、坐标系统 坐标系是一个精确定位对象位置的框架&#xff0c;所有的图形变换都是基于一定的坐标系进行的。对于从事计算机图形学的研究者&#xff0c;掌握图形变换是不可或缺的&#xff0c;因此&#xff0c;理解坐标系非常重要。一个三维图形工作者可以认为自己站在一定的坐标…

【初始前后端交互+原生Ajax+Fetch+axios+同源策略+解决跨域】

初始前后端交互原生AjaxFetchaxios同源策略解决跨域 1 初识前后端交互2 原生Ajax2.1 Ajax基础2.2 Ajax案例2.3 ajax请求方式 3 Fetch3.1 fetch基础3.2 fetch案例 4 axios4.1 axios基础4.2 axios使用4.2.1 axios拦截器4.2.2 axios中断器 5 同源策略6 解决跨域6.1 jsonp6.2 其他技…

【每日一题】2824. 统计和小于目标的下标对数目-2023.11.24

题目&#xff1a; 2824. 统计和小于目标的下标对数目 给你一个下标从 0 开始长度为 n 的整数数组 nums 和一个整数 target &#xff0c;请你返回满足 0 < i < j < n 且 nums[i] nums[j] < target 的下标对 (i, j) 的数目。 示例 1&#xff1a; 输入&#xff1…