V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
DigitalHarace
V2EX  ›  程序员

springboot 3.0

  •  
  •   DigitalHarace · 2022-11-30 09:47:51 +08:00 · 4319 次点击
    这是一个创建于 749 天前的主题,其中的信息可能已经有所发展或是发生改变。

    springboot 3.0 最低 java 17 ,以后使用率会怎么样

    21 条回复    2022-12-01 10:21:43 +08:00
    fzdwx
        1
    fzdwx  
       2022-11-30 09:51:05 +08:00
    以后的事情以后才能知道
    Biluesgakki
        2
    Biluesgakki  
       2022-11-30 09:51:08 +08:00
    新项目可能会用? 但是我感觉 java 想更新换代太难了。
    TWorldIsNButThis
        3
    TWorldIsNButThis  
       2022-11-30 09:52:00 +08:00
    这要看 springboot2 什么时候停止支持然后报漏洞了
    NillSpake
        4
    NillSpake  
       2022-11-30 09:53:34 +08:00
    已经在用了~
    Biluesgakki
        5
    Biluesgakki  
       2022-11-30 09:53:42 +08:00
    @TWorldIsNButThis 貌似 2.0 最新一版 支持还有一年
    cgglyle
        6
    cgglyle  
       2022-11-30 10:19:55 +08:00
    现在大部分企业都还再用 Java 8 吧,估计 SpringBoot 3 估计一年或者两年以后才会普及开吧。
    Bromine0x23
        7
    Bromine0x23  
       2022-11-30 10:23:25 +08:00
    等兼容性飞一会,明年再用
    zed1018
        8
    zed1018  
       2022-11-30 10:28:54 +08:00   ❤️ 1
    目前已经在快照分支升级了,升级过程不算特别麻烦。主要集中在两个方面:
    1. 所有 javax 的 relocate 到 jakarta ,这个批量重命名就好了
    2. 之前做的自定义 starter ,需要把 spring.factories 换成新的 import 文件。这个稍微麻烦了点,主要是因为 release note 没看到有 breaking changes ,浪费了不少定位时间。
    storyxc
        9
    storyxc  
       2022-11-30 10:29:57 +08:00
    公司一个项目用的 springboot 2.0.2 和 springcloud Finchley ,被甲方要求升级 spring beans 这些包的版本,但是公司内部封装的有一些基础包,升级之后各种兼容性问题 导致最后不了了之。 公司项目是不打算折腾了,自己写项目估计会用。
    BBCCBB
        10
    BBCCBB  
       2022-11-30 11:17:45 +08:00
    等 project loom 协程稳定后的 lts 版本采用率预测会有大幅提升
    ccppgo
        11
    ccppgo  
       2022-11-30 11:28:15 +08:00
    @BBCCBB 据说要下下个 lts 才能上
    BBCCBB
        12
    BBCCBB  
       2022-11-30 12:45:14 +08:00
    @ccppgo 哈哈, 下下个吗? 下个版本出预览版, 稳定估计还早. 比较麻烦..

    可以等云厂商移植到 jdk8/11 之类的.. 像 zgc 这种, jdk11 就有把最新的稳定 zgc 版本移植进去的.

    腾讯 kona Jdk 我看就有他们自己实现的, 只是兼容 loom 的接口, 现在可能还不是非常完善.
    jorneyr
        13
    jorneyr  
       2022-11-30 15:26:10 +08:00
    新项目,JDK 19 了。
    wupher
        14
    wupher  
       2022-11-30 15:41:53 +08:00
    大势所趋,毕竟未来 SpringBoot2 会停止维护和更新。

    除了一些没办法的老旧项目,都会面临升级问题。
    Akitora
        15
    Akitora  
       2022-11-30 16:06:00 +08:00   ❤️ 2
    刚个人项目升级了,单体多模块 kotlin/java 混合,除了上面提到的 javax 包改名了之外,只遇到一个 mybatis-plus 的不兼容问题。
    https://github.com/baomidou/mybatis-plus/issues/4971
    目前找到的解决方案是引入 mybatis 的新版本 starter

    api("org.mybatis.spring.boot:mybatis-spring-boot-starter:3.0.0")
    xhldtc
        16
    xhldtc  
       2022-11-30 16:16:16 +08:00
    卷不动了,为什么 Java 的技术栈更新换代这么快
    Leviathann
        17
    Leviathann  
       2022-11-30 16:20:23 +08:00   ❤️ 1
    @xhldtc 快?很喜欢一些视频标题:java8 的新特性
    mgcnrx11
        18
    mgcnrx11  
       2022-11-30 16:54:36 +08:00
    @zed1018 spring.factories 换成新的 import 文件。

    因为这个是 Spring Boot 2.7 的时候换的
    litchinn
        19
    litchinn  
       2022-11-30 16:54:42 +08:00
    这两天摆弄了下,这里顺便分享下遇到的问题和感受吧,
    springboot3 主要亮点就是 graalvm ,打包 native-image ,
    1. pom 里改好相关插件的配置,
    2. 我本机是 windows ,所以需要下载 MSVC 的一套组件,然后必须得在“Developer Command Prompt for VS” 这个终端里执行构建命令。
    3. 打包出来 jar 包是 73M ,exe 文件是 137M ,启动确实是秒启动,但是 install 的时间上去了,这个对开发人员的体验还不好说,目前 IDEA 感觉适配还不大行
    4. 聊一下遇到的兼容性问题,目前 Mybatis 已经出了 3.0 版本,升上去就行,但是 MybatisPlus 还不行。Knife4j 这个文档项目则是由于 javax (需要 jakarta )的问题也暂时不能用。这个 jakarta 的问题应该大多数项目都会遇到。然后就是 apache.commons.logging 也有个奇怪的问题,由于我没用这个包是阿里云 osssdk 用的,也没继续研究(直接把这个包去掉了)。
    后面会再试下 docker 构建,总之目前来说旧项目升级还不是很适合。
    graalvm 启动时间是快,但是如果编译时间上去了感觉对开发环境来说并不是太友好
    以上
    Boyce
        20
    Boyce  
       2022-12-01 10:11:09 +08:00
    @zed1018

    springboot 2.7
    ● Auto-configuration Registration
    If you have created your own auto-configurations, you should move the registration from spring.factories under the org.springframework.boot.autoconfigure.EnableAutoConfiguration key to a new file named META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports. Rather than a single comma-separate list, each line contains the fully qualified name of an auto-configuration class. See the included auto-configurations for an example.
    仍然兼容 spring.factories 方式。
    zed1018
        21
    zed1018  
       2022-12-01 10:21:43 +08:00
    @Boyce 3.0 不行了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1006 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 20:00 · PVG 04:00 · LAX 12:00 · JFK 15:00
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.