当前位置: 首页 > 后端技术 > Java

重的!SpringBoot2.7正式发布,一大波新特性,看完我彻底服气了,.

时间:2023-04-01 21:53:02 Java

SpringBoot2.7来了大家好,我是栈管理员。SpringBoot2.6.0发布已经半年多了,如今SpringBoot2.7.0如期而至:SpringBoot已经陆续发布了三个版本:SpringBoot2.7.0(最新)SpringBoot2.6。8SpringBoot2.5.14之后两个版本都是bugfix版本,2.7.0是一个艰难的选择,毕竟我们已经等了大半年了。.老规矩,栈长重点讲解SpringBoot2.7.0到底更新了什么!SpringBoot2.7新特性自动配置变更(重要)自动配置注册文件自动配置注册有比较大的调整,之前写在如下文件中:META-INF/spring.factories现在更名为:META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports另外格式也变了。在SpringBoot2.7中,每一行都是一个自动配置类:写的格式确实比以前方便了很多,但是文件名确实是太长了,不好记。..需要注意的是,为了向后兼容,虽然META-INF/spring.factories现在被标记为过时了,但现在仍然可以使用,将来可能会被完全删除。建议使用新规范。我不会介绍SpringBoot的基础知识。推荐这个实用教程:https://github.com/javastacks...新的注解(@AutoConfiguration)增加了一个自动配置注解@AutoConfiguration来替代之前的@Configuration。用于标识新的自动配置注册文件中的顶层自动配置类。@AutoConfiguration注解嵌套导入的其他配置类可以继续使用@Configuration注解。另外,为了方便起见,@AutoConfiguration注解还支持after、afterNames、before和beforeNames属性进行自动配置排序,用于替代之前的@AutoConfigureAfter和@AutoConfigureBefore注解。这个注解可以说是更加细分了。它会自动配置特殊的注解,并使用特殊的注解来做特殊的事情。这也可以用来区分带有@Configuration标记的常见配置类。SupportGraphQLGraphQL=Graph+QL(QueryLanguage),一种基于图的API查询语言:SpringforGraphQL(1.0)现已正式发布,SpringBoot2.7.0也集成了GraphQL的自动配置,指标支持,等,Starter名称为:spring-boot-starter-graphql,Spring家族的新成员。支持Podman与Docker一样,Podman是一种流行的容器引擎。使用CloudNativeBuildpacks构建映像时,Maven和Gradle插件现在可以使用Podman容器引擎构建,可以使用它代替Docker容器引擎。太棒了,现在SpringBoot正式支持Podman。支持RabbitStreamTemplate现在支持自动配置RabbitStreamTemplate,只需要配置如下参数:spring.rabbitmq.stream.name=xxx并且还增加了一个RabbitStreamTemplateConfigurer配置类来自定义扩展其他实例。支持Hazelcast和Redis一样,Hazelcast是一个开源的分布式内存数据库,可以作为分布式缓存使用。Hazelcast自动配置嵌入式服务器现在默认使用SpringManagerContext,可以将SpringBean注入到Hazelcast实例对象中。此外,还引入了一个HazelcastConfigCustomizer回调接口,可用于进一步调整Hazelcast服务器配置。支持Cache2kCache2k是一个开源的轻量级、高性能的Java内存缓存库。现在,通过为Cache2k添加依赖管理和自动配置,还可以通过定义Cache2kBuilderCustomizer实例bean来自定义默认缓存设置。Web服务器SSL增强嵌入式Web服务器SSL配置已得到增强,可以使用PEM编码的证书和私钥文件配置SSL。使用以下参数进行配置:server.ssl.certificateserver.ssl.certificate-private-keyserver.ssl.trust-certificate(可选)server.ssl.trust-certificate-private-key(可选)或者,您可以使用诸如管理之类的东西.server.ssl.*属性以保护管理端点。info端点增强操作系统信息现在/info端点支持在应用程序运行时暴露一些操作系统信息:{"os":{"name":"Linux","version":"5.4.0-1051-gke","arch":"amd64"}}不过默认是禁用的,需要的话可以手动启用:management.info.os.enabled=trueJ??avavendorinformation现在/info端点中的Javavendor有添加了供应商版本信息:{"java":{"vendor":{"name":"EclipseAdoptium","version":"Temurin-17.0.1+12"},"..."}注意不是所有的vendors暴露了java.vendor.version系统属性,因此在获取版本属性时可能为null。单元测试增强功能添加@DataCouchbaseTest和DataElasticsearchTest注解,可用于测试使用SpringDataCouchbase和SpringDataElasticsearch的应用程序。除了上面列出的更新之外,其他方面还有很多小的调整和改进。栈长这里就不一一介绍了。有兴趣的可以阅读官方发布说明:https://spring.io/blog/2022/0...最新支持的版本栈管理器整理了SpringBoot的最新版本支持:版本发布时间停止维护时间停止商业支持2.7.02022-05-192023-05-182024-08-222.6.02021-12-172022-11-242024-02-242.5.x2021-05-20discontinued2023-08-242.4.x2020-11-12discontinued2023-02-232.3.x2020-05-15discontinued2022-08-202.2.x2019-10-16Discontinued停产2.1.x2018-10-10Discontinued停产2.0.x2018-03-01Discontinued停产1.5.x2017-01Discontinued-30大多数版本要么停止维护,要么只提供商业支持。随着2.7的发布,现在连SpringBoot2.5也停止维护了:只有SpringBoot2.6及以上版本,SpringBoot2.6.0将在今年11月发布。24也将停机进行维护。.综上所述,SpringBoot2.7.0新增了很多新特性,变化确实挺大的,尤其是自动配置方面的变化,有明显的调整,大家要特别注意。SpringBoot现在已经成为一个实用的脚手架框架,让学习和开发变得更加简单。同时这个版本的淘汰节奏也让我觉得技术更新太快了,所以一定要不断学习,不然就会跟着淘汰。如果你没有用过SpringBoot,今天就给你发一份《Spring Boot 学习笔记》这篇很全,包括底层实现原理和代码实践,很全,帮助你快速打通SpringBoot的方方面面。之前的SpringBoot教程和示例源码编译:https://github.com/javastacks...最后,你用的是哪个版本的SpringBoot?欢迎使用投票统计!好了,今天的分享就到这里。稍后栈长会分享更多有趣的Java技术和最新的技术资料。关注公众号Java技术栈第一时间推送。版权声明:本文为公众号《Java技术栈》原创。原创并不容易。转载或引用本文内容请注明出处。所有抄袭者将举报+投诉,并保留追究其法律责任的权利。近期热点文章推荐:1.1000+Java面试题及答案(2022最新版)2.厉害了!Java协程来了。..3.SpringBoot2.x教程,太全面了!4.不要用爆破爆满画面,试试装饰者模式,这才是优雅的方式!!5.《Java开发手册(嵩山版)》最新发布,赶快下载吧!感觉不错,别忘了点赞+转发!