SpringBoot 新特性

SpringBoot 新特性

优质博文:IT-BLOG-CN

2.1.0新特性最低支持jdk8,支持tomcat9

对响应式编程的支持,spring-boot-starter-webflux starter POM可以快速开始使用Spring WebFlux,它由嵌入式Netty服务器支持

1.5.8

在这里插入图片描述


2.1.0/2.7.0/3.0.0

在这里插入图片描述


Configuration properties migration

当升级到新功能版本时,一些配置可能会重命名或者被移除。SpringBoot提供一种方式去分析你应用的环境和在启动时打印诊断内容,还可以在运行时为你临时迁移属性。要启用该特性,添加下方的依赖到你的工程中:

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-properties-migrator</artifactId><scope>runtime</scope></dependency>

Gradle Plugin 增强,支持kotlin。

Spring Boot 2.0 开始支持 GIF banners. See this project for an example.

在这里插入图片描述


2.7.0新特性自动配置注册文件,文件位置发生变更,之前都是写在下面 文件中的:META-INF/spring.factories>现在改名了:META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports

为了向后兼容,META-INF/spring.factories 虽然现在被标识废弃了,但现在仍然可以使用,后续可能被彻底删除,建议使用新的规范。

在这里插入图片描述


支持 GraphQL,集成了对 GraphQL 的自动配置、指标支持等,Starter 名为:spring-boot-starter-graphql

由于 OkHttp 3 不再维护,Spring Boot 2.7 已升级到 OkHTTP 4。OkHttp 4向后兼容OkHttp 3

新注解(@AutoConfiguration) 新增了一个自动配置注解 @AutoConfiguration,用来代替之前的 @Configuration,用于标识新自动配置注册文件中的顶级自动配置类,由 @AutoConfiguration 注解嵌套、导入进来的其他配置类可以继续使用 @Configuration 注解。

另外,为方便起见,@AutoConfiguration 注解还支持 after, afterNames, before 和 beforeNames 属性进行自动配置排序,用于代替之前的 @AutoConfigureAfter 和 @AutoConfigureBefore 注解。

这个注解可以说更加细分了吧,自动配置专用注解,用专门的注解来干专门的事,这样也可以用来区分用 @Configuration 标识的普通配置类。

2.6.0开始禁止循环引用: 如果您的应用程序由于 BeanCurrentlyInCreationException 而无法启动,强烈建议您更新配置以打破依赖循环。

如果您无法这样做,可以通过将 spring.main.allow-circular-references 设置为 true 或在 SpringApplication 和 SpringApplicationBuilder 上使用新的 setter 方法来再次允许循环引用

3.0.0新特性

spring6

Java 17是Spring Boot 3.0的最低版本要求,spring6 tomcat10也是springboot3的最低版本要求

Spring Boot 3.0的一个重要变化,即从Java EE迁移至javarta.包名由javax变成javarta。

oracle在19年把javax捐给eclipse基金会,但不允许使用javax的命名空间,所以eclipse才继续发展成现在的javaee标准Jakarta EE。

Spring Boot 3.0 应用程序现在可以直接转换为 GraalVM 原生镜像(无需本地安装GraalVM环境),这可以提供显著的内存和启动性能改进。

可参考文章:Spring Native

GraalVM与Spring Native初体验

native-image

mvn -Pnative spring-boot:build-image

docker run --rm -p 8080:8080 docker.io/library/myproject:0.0.1-SNAPSHOT

spring-native打包镜像启动速度

在这里插入图片描述


JVM启动速度

在这里插入图片描述

文件大小:spring-native打包镜像占95.55MB,JVM占28.9MB。

Auto-configuration Files

Spring Boot 2.7 引入了一个新的 META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports 文件,用于注册自动配置,同时保持与 spring.factories 中注册的向后兼容性。在此版本中,已删除对在 spring.factories 中注册自动配置的支持,以支持导入文件。

Spring官方在(Spring Boot3.0,Spring Framework6.0、Tomcat10.1.6-M16以上兼容支持JDK19) 实验虚拟线程

在这里插入图片描述


3.1新特性

1、最低环境要求
Spring Boot 3.0 的发布,其最低要求 Java 17,并向上兼容支持 Java 19,Spring Boot 3.1 可以支持 Java 20 了,因为前段时间 Java 20 发布了。

对 Java 开发环境的要求对比表:

Spring BootJDKSpringMavenGradle
3.1.017 ~ 206.0.9+3.6.3+7.5+,8.x
3.0.017~196.0.2+3.5+7.5+
2.7.128~205.3.27+3.5+6.8.x,6.9.x,7.x,8.x

2、移除 HttpClient 4

因为 Spring 6 删除了 RestTemplate 对 Apache HttpClient 4 的支持,取而代之的则是 Apache HttpClient 5。

而 Spring Boot 3.0 又同时包含了 HttpClient 4 和 HttpClient 5 两个依赖的管理,如果同时管理这两个版本,有的人可能会继续使用 HttpClient 4,应用程序在使用 RestTemplate 时可能会有潜在的错误,导致诊断困难。

所以,Spring Boot 3.1 移除了 HttpClient 4 的依赖管理,转而逼迫用户强制使用 HttpClient 5,大家有依赖 HttpClient 4 的升级时需要注意了。

3、Servlet 和 Filter 注册失败时抛异常

大家知道,Spring Boot 注册 Servlet 和 Filter 时用的 ServletRegistrationBean 和 FilterRegistrationBean 这两个类,之前注册失败时是记录 warn 级别的日志,现在则是直接抛出 IllegalStateException 异常。

如果不想注册失败抛出异常,还是想像以前一样记录 warn 警告日志,可以调用这两个类的 setIgnoreRegistrationFailure(true) 方法.

Read more

高校电动车租赁系统信息管理系统源码-SpringBoot后端+Vue前端+MySQL【可直接运行】

高校电动车租赁系统信息管理系统源码-SpringBoot后端+Vue前端+MySQL【可直接运行】

摘要 随着城市化进程的加快和高校规模的不断扩大,校园内的交通问题日益突出。传统的自行车和步行方式已无法满足学生和教职工的出行需求,电动车因其便捷性和环保性逐渐成为校园内主要的交通工具之一。然而,电动车的购买和维护成本较高,许多学生更倾向于选择租赁方式。高校电动车租赁系统的开发旨在解决这一需求,通过信息化手段实现电动车的智能化管理和高效租赁。该系统不仅能够提升校园交通效率,还能减少资源浪费,符合绿色校园的建设理念。关键词:高校交通、电动车租赁、智能化管理、绿色校园、信息化系统。 该系统采用SpringBoot作为后端框架,结合Vue.js前端技术和MySQL数据库,实现了用户管理、电动车信息管理、租赁订单管理等功能模块。SpringBoot提供了高效的开发体验和稳定的运行性能,Vue.js则确保了用户界面的交互性和响应速度,MySQL作为关系型数据库保证了数据的安全性和一致性。系统支持用户注册登录、电动车查询与预订、订单支付与状态跟踪等功能,同时管理员可以通过后台管理界面实现对电动车和用户信息的全面管理。系统的模块化设计和可扩展性为未来的功能升级提供了便利。关键词:SpringBoo

By Ne0inhk
ollama 模型管理、删除模型 、open-webui 开启大模型交互

ollama 模型管理、删除模型 、open-webui 开启大模型交互

文章目录 * ollama 基本信息 * ollama 运行模型 * ollama 模型管理 * 🔧 **方法一:使用命令行删除单个模型** * ⚙️ **方法二:批量删除所有模型** * 🗑️ **方法三:彻底卸载 Ollama(含所有数据)** * ⚠️ **注意事项** * ✅ **验证是否删除成功** * open-webui 安装 开启大模型交互 * open-webui pip 安装 * open-webui 启动服务 * 浏览器访问 http://IP:8082/ : * ❤️ 时不我待,一起学AI ollama 基本信息 * https://ollama.com/ ollama 运行模型 命令行执行即可 0.6B parameter model ollama run qwen3:0.6b 1.7B

By Ne0inhk
2026年,给大家普及一下字节前端岗需要达到的强度

2026年,给大家普及一下字节前端岗需要达到的强度

字节跳动前端开发工程师岗      一面 1. 平时负责或深入的技术栈与业务方向,核心用户场景与技术价值主张 2. 前端开发生命周期管理,从需求分析、UI/UX协作到开发测试、性能优化的全流程实践与质量保障 3. 技术选型调研与用户体验数据应用,如何验证框架/方案选择并定位体验瓶颈 4. 项目开发中如何实现高效跨职能协同(产品、设计、后端、测试),关键协作流程与工具链 5. 竞品或业界方案分析框架与技术差异化策略制定,关注性能体验、工程效率与可维护性 6. 用户交互路径分析与体验优化项目(如加载性能、交互动效、无障碍访问)的构建机制 7. 关键性能指标监控与项目质量评估体系(如LCP、FCP、CLS、错误率) 8. 现代前端开发与传统网页开发模式区别,业务在不同阶段(初创、增长、复杂化)的技术重点与架构演进 9. 案例分析:给定新业务场景(如互动玩法、复杂中后台)

By Ne0inhk
【征文计划】玩转 Rokid JSAR:基于 Web 技术栈的 AR 开发环境搭建、核心 API 应用与 3D 时钟等创意项目全流程解析

【征文计划】玩转 Rokid JSAR:基于 Web 技术栈的 AR 开发环境搭建、核心 API 应用与 3D 时钟等创意项目全流程解析

【征文计划】玩转 Rokid JSAR:基于 Web 技术栈的 AR 开发环境搭建、核心 API 应用与 3D 时钟等创意项目全流程解析 前言 随着 AR 技术在消费级场景的普及,开发者对 “低门槛、高兼容” AR 开发工具需求愈发迫切,传统 AR 开发往往依赖专属引擎或复杂语法,导致 Web 开发者难以快速切入,而 Rokid 推出的 JSAR 技术,恰好打破了这一壁垒:以 “可嵌入空间的 Web 运行时” 为核心,让开发者无需学习新的开发范式,仅用 JavaScript/TypeScript 等熟悉的 Web 技术栈,就能快速开发出支持 3D 物体、

By Ne0inhk