首页 > 编程语言 >Spring Boot 3.0.0 来啦!最小依赖 Java17!升还是不升?

Spring Boot 3.0.0 来啦!最小依赖 Java17!升还是不升?

时间:2023-07-04 21:25:48浏览次数:51  
标签:Java17 Java Spring Boot Gradle 版本 Jakarta

Spring 官方于 2022 年 1 月 20 日发布 Spring Boot 3.0.0-M1 版本,预示开启了 Spring Boot 3.0 的里程碑。

官方公告下的中文评论有点东西。。。熟悉的味道!就是那个味!

   

分享一篇朋友对 SpringBoot3.0 的介绍:生还是不生? SpringBoot3 版本有起飞前兆,最小依赖Java17!

一直以来,Java8 都是 Java 社区心头的痛。因为它代表着以稳定性为主的企业管理层,与拥抱变化为主的底层码农层之间的、爱的魔力拉锯战。

不升!成为各大厂心照不宣的选择。

现在,这种平衡或将打破。因为 Java 届的霸主框架 SpringBoot,选择了最小支持的 Java lts 版本,就是最新的 Java17。

坚信 Java8 成为永恒的同学,该用尿滋醒一下了。

怎么办?

到底用不用新的版本,这其实并没有什么意义。有需求才有变化,为了追求升级而升级,那是脑残才干的事。当广大从业者,越来越了解到自己是一个工具人的时候,就会放弃这些无意义的操作。

只有两种情况,无意义才会变成有意义。

第一,是卷到极致的时候,不痛不痒的版本升级就会进入你的任务列表。第二,是落后社区太多的时候,羞愧感加上功能的驱使会让你选择升级。不过这也并不是绝对,因为如果你是管理层,脏活自然会有人干,你也不会有这么大的动力。

哪些改变?

还是先回到正题,看一下 SpringBoot3 都有哪些改变吧。

首先。

再次强调一下,SpringBoot3 将强力合体 Java17,采用全新的 Spring6 版本,Maven 支持也提高到了 3.5、Gradle 提高到了 7.3。版本管理器默认也换成了 Gradle, Gradke 的下载速度,国内要肉痛一下了。

这个没有出乎我的意料,Gradle 确实更优秀!我也曾在公众号多次推荐 Gradle。

说实话,用完 Gradle 之后,有点嫌弃 Maven 了。贼好用!

再次。

虽然我们现在使用 JavaEE 的功能越来越少,但很多巨无霸商业企业还是依然坚守着打下的江山。自从 JavaEE 改名为 Jakarta EE,Jakarta EE9 版本迎来了更大的改动,连 javax 这种包名都给改了(2019 及以后)。SpringBoot3 一琢磨,假如不追上的话,恐怕后面很快就要出 SpringBoot4 了,所以 Jakarta EE 的版本,也切成了 9。

Jakarta 是印尼首都雅加达,与斯巴达只差两字的距离。Jakarta EE 9 的版本应由 Eclipse Glassfish,Apache TomEE,Wildfly,Oracle WebLogic,JBoss 和 IBM Websphere Liberty 实施,并使用 Jakarta EE 的标志。

这通常没什么影响,因为新时代的互联网人,使用 JavaEE 的功能越来越少,就连 JavaSE 都嫌臃肿,所以这对很多人并没有什么影响。我建议你如无必要,永远不要使用它,因为里面全是坑哈哈。

其次。

移除了一些老掉牙的东西,比如 Apache ActiveMQ、Atomikos、EhCache 2、Hazelcast 3 等。Apache ActiveMQ 这种老掉牙的东西,实在是不推荐新项目使用了,高并发下它坑死了老多人。

对标 Kafka,消息中间件新秀 Pulsar 了解一下!

我与消息队列的八年情缘 这篇文章也可以看看,ActiveMQ 确实属于被淘汰的消息中间件了。

Hazelcast 也在 Redis 的进攻下节节败退,虽然用上了先进的 Raft 也颓势尽显。

这些不入流的东西们,最好的存在方式就是各种 stater,而不是放在 core 包里面。

同样被移除的还有下面这些:

EhCache 3

H2’s web console

Hibernate’s metrics

Infinispan

Jolokia

Pooled JMS

REST Assured

这些名词背后,充满了商业的腐朽味道,以及销售的嘴脸和被忽悠的懵逼的老板们。

怕不怕?

现在 SpringBoot3 还是 M1 版本,Spring Boot 团队将每两个月发布一个新的里程碑版本,所以 M2 版本预计将在 3 月 24 日发布。

其实,大家都不怕软件不更新,也不怕经过实践过的更新,最怕项目出生在这种不生不死的间隔时间。选新的吧,功能不稳定,要背锅;选旧的吧,心里不痛快,未来总有一天还得升级。

所以大多数时候,时间就在这犹犹豫豫中流逝了。

保持系统的纯洁性,是一个非常好的习惯。哪怕官方为你贴心的提供了很多扩展功能,也不要随随便便去使用,否则你将尝到背叛的味道。

当然,一个普通程序员职业生涯,被定格在 35 岁的年代,在新时代农民工论调的大背景下,你并不需要为其他的阶级去着想,除非它影响到了你的面包。

专注 Java 原创干货分享,大三开源JavaGuide (「Java学习+面试指南」一份涵盖大部分 Java 程序员所需要掌握的核心知识。准备 Java 面试,首选 JavaGuide!),目前已经 116k+ Star。



作者:傲娇才不会的
链接:https://www.jianshu.com/p/db8c168a49e3
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

标签:Java17,Java,Spring,Boot,Gradle,版本,Jakarta
From: https://www.cnblogs.com/xmsz118/p/17527042.html

相关文章

  • 一定要收藏的5个优秀的SpringCloud开源项目
    今天再为大家推荐几个优秀的SpringCloud开源脚手架项目,开箱即用,不管是学习还是开发新项目,都非常不错。伟大的作家鲁迅先生曾说过:能直接用,绝不重复造轮子 img好了,不多bb,上才艺!1、pig基于SpringCloud2020、SpringBoot2.5、OAuth2的RBAC权限管理系统。gitee......
  • 介绍6款热门的SpringCloud微服务开源项目,总有适合你的!
    今天介绍六款比较热门的SpringCloud微服务项目,感兴趣的可以clone下来研究一下,相信对你学习微服务架构很有帮助。一、Cloud-Platform介绍Cloud-Platform是国内首个基于SpringCloud微服务化开发平台,具有统一授权、认证后台管理系统,其中包含具备用户管理、资源权限管理、网关AP......
  • JeecgBoot低代码开发平台与达梦数据完成兼容性互认证
    近日,JeecgBoot与达梦数据库管理系统V8完成兼容性认证测试;通过双方共同测试表明,Jeecgboot低代码开发平台与达梦数据库管理系统V8,相互兼容,系统功能运行稳定,能够满足用户更多的性能需求;并签署产品兼容互认证明。JeecgBoot将持续进行更多的国产化软件及国产化服务器的兼容性测试,将会不......
  • Springboot开发no.1
    springboot是一个简化spring初始化和开发spring创建空工程,检查Maven,创建模块springinitializr  使用rest模式:@RestController,@RequestMapping("/books")结果  运行出现问题:第一个问题:java:无法访问org.springframework.web.bind.annotation.GetMa......
  • 【Spring Cloud Alibaba】Nacos 注册中心
    目录1.NacosServer的安装和启动1.解压以及目录说明2.修改配置文件3.Mysql表的导入4.NacosServer启动5.登录Nacos2.Nacos服务注册1.搭建两个nacos的客户端2.选择依赖3.修改配置文件4.修改启动类5.启动测试3.Nacos服务发现3.1DiscoveryClient3.2集成openfei......
  • 【Spring Cloud Alibaba】Nacos 配置中心
    目录1.Nacos配置中心快速入门1.1导入依赖1.2在Nacos中新建一个powernode的命名空间1.3NacosServer里面添加一个配置文件1.4项目中添加一个配置文件bootstrap.yml2.Nacos获取多配置文件3.NacosConfig常用的配置3.1Config常用配置3.2bootstrap.yml模板1.Naco......
  • 条件注解之@ConditionalOnProperty注解:通过配置文件的配置来控制配置类是否加入spring
    一、条件注解分类常见的@ConditionalOnxxx开头的注解我们称之为条件注解,常见的条件注解有class条件注解:@ConditionalOnClassbean条件注解:@ConditionalOnBean属性条件注解:@ConditionalOnProperty…@ConditionalOnProperty:如果有指定的配置,条件生效;@ConditionalOnBean:如果......
  • rabbitmq在springboot中实战技巧
    一.简介rabbitmq是基于AMQP(AdvancedMessageQueuingProtocol:高级消息队列协议),采用Erlang语言编写的消息队列。二、mq能用来做什么异步处理:将非核心业务(比如日志、邮件、监控等)从主流程剥离,提升主流程的响应时效。削峰:当并发大的情况下,可以将消息暂存在消息队列中,消费者按照......
  • Springboot : 连接ldap超时问题
    Err:java.net.ConnectException:Connectiontimedoutwhenconnectingtoldap使用springbootldap连接账号所属ldap目录验证时,出现如上报错经检查,host,username,password等信息均无误,如下为代码中的配置信息示例hashEnv.put(Context.SECURITY_AUTHENTICATION,"simple"......
  • 面试题-Spring 面试集
    Spring面试集基于SpringFramework4.x总结的常见面试题,系统学习建议还是官方文档走起:https://spring.io/projects/spring-framework#learn一、一般问题开发中主要使用Spring的什么技术?IOC容器管理各层的组件使用AOP配置声明式事务整合其他框架Spring有哪些优......