Spring 2022 调查:看好 Project Loom 和 Spring Native


VMware 发布了一份对 Spring 开发人员的 2022 年度调查涵盖 1421 名活跃的 Spring 专业人士。探讨了微服务、反应式和无服务器等现代架构的采用情况;包括对模块化单体的检查,以及哪些新技术在这一领域中得到了发展。还调查了 Spring 社区处理软件升级的情况、了解常见的痛点,并确定了学习 Spring 功能和 Spring 相关技术的主要途径。

报告指出,API 是主要用例。许多架构师和开发人员都将 API 作为其架构的核心部分,Spring 社区也是如此。自 2020 年以来,该社区选择 exposing API(内部和外部)作为 Spring 的最流行用途。随着现代和云原生应用的增长,使用 Spring 进行 API 开发的情况还在继续增加。

SOAP Web 服务占 Spring 实现的 API 的 30%,高于前一年的 28%。基于 XML 的 SOAP Web 服务对于大多数开发人员来说早已被 REST API 和 JSON 以及基于 JSON 的 OpenAPI(曾经称为 Swagger)所取代;但尽管 plain JSON(81%)和 OpenAPI(61%)遥遥领先,30% 的占比表明 SOAP 仍有着较高的粘性。

Spring 开发者对 Project Loom (Java 的轻量级线程) 和 Spring Native 的热情都很高。Project Loom 目前尚处于预览阶段,它将虚拟线程引入 Java,还可以减少应用程序的内存占用。报告称,在听说过 Project Loom 的人中,几乎所有人(90%)都对这项技术持积极态度,30% 的人计划使用它。不过报告也补充到,“Loom 已经接近其炒作周期的顶峰”。

43% 的受访者尝试过 Spring Native,79% 的人打算在 2 年内部署 Spring Native 应用程序;关键动机在于节省托管成本,并在占用空间较小的地方使用容器和 Kubernetes 的原生编译。

Spring 团队花了很多时间来确保 Spring 在 Kubernetes 上运行良好。自 2020 年开始调查以来,Kubernetes 已成为运行 Spring 应用程序的主要平台。

在所面临的挑战中,反馈最多的是“陡峭的学习曲线”,今年这一比例上升至 26%。此外,Spring 开发人员还为诸如“难以理解所有组件的作用”和“缺乏有关如何一起使用模块的信息”等问题而苦恼。

更多详情可查看完整报告。


相關推薦

2022-11-18

供了一流的支持。你还可以使用 Spring 应用程序探索 Project Loom 的虚拟线程,可参阅“Embracing Virtual Threads”;并深入研究 Project CRaC 的 checkpoint 恢复方法以加快 JVM 启动速度。官方表示,这两项功能目前都处于预览状态,

2022-11-26

Spring 的应用中体验 “虚拟线程”(JDK 19 中的预览版 “Project Loom”),查看此文章了解更多细节。现在提供了自定义选项来插入基于虚拟线程的 Executor 实现,目标是在 Project Loom 正式可用时提供 “一等公民” 的配置选

2022-10-14

于 Spring 的应用中体验“虚拟线程”(JDK 19 中的预览版“Project Loom”),查看此文章了解更多细节。现在提供了自定义选项来插入基于虚拟线程的Executor实现,目标是在 Project Loom 正式可用时提供“一等公民”的配置选项。 除了

2022-11-05

Spring 的应用中体验 “虚拟线程”(JDK 19 中的预览版 “Project Loom”),查看此文章了解更多细节。现在提供了自定义选项来插入基于虚拟线程的 Executor 实现,目标是在 Project Loom 正式可用时提供 “一等公民” 的配置选

2022-10-22

Spring 的应用中体验 “虚拟线程”(JDK 19 中的预览版 “Project Loom”),查看此文章了解更多细节。现在提供了自定义选项来插入基于虚拟线程的 Executor 实现,目标是在 Project Loom 正式可用时提供 “一等公民” 的配置选

2022-11-12

Spring 的应用中体验 “虚拟线程”(JDK 19 中的预览版 “Project Loom”),查看此文章了解更多细节。现在提供了自定义选项来插入基于虚拟线程的 Executor 实现,目标是在 Project Loom 正式可用时提供 “一等公民” 的配置选

2022-06-01

Spring Native 0.12.0 现已发布。此版本包括 12 个 bug 修复、文档改进以及对 GraalVM 22.1、Spring Boot 2.7.0 和 Spring Cloud 2021.0.3 的依赖项升级。 Spring Native(前身为 Spring GraalVM Native,Spring 社区试验性项目)通过使用 GraalVM 原生镜像编

2022-11-02

Spring Cloud 2022.0 发布了首个 RC 版本。 获取地址:https://repo.spring.io/milestone/ 主要变化 Spring Cloud Function 针对可观测性和原生提示 (Native Hints) 的更新 Spring Cloud OpenFeign 添加对 target URL 刷新的支持 (#710) 添加对 LoadBalancer X-

2022-08-04

Spring Cloud 2022.0.0-M4 现已发布,代号 Kilburn。Spring Cloud 2022.0.0-M4 与 Spring Boot 3.0.0-M4 兼容,一些值得关注的变化包括: Spring Cloud Stream 完全反应式 Kafka binder 的初始版本 通过 BiFunction 改进了对 Kafka tombstone records 录的支持 Sprin

2022-12-21

款企业级微服务架构和服务能力开发平台,是全面拥抱 Spring Authorization Server 的、基于 OAuth2.1 协议的微服务架构。基于 Spring Authorization Server 1.0.0、Spring Boot 3.0.0、Spring Cloud 2022.0.0、Spring Cloud Tencent 1.8.2-2022.0.0、Spring Cloud Alibaba 2021

2023-03-04

Spring Framework 6.0.6 现已发布,包含了 109 项修复和文档改进;Spring Boot 3.0.4 搭载了 Spring Framework 6.0.5。 此版本主要变化包括: 新功能 在 ReactorServerHttpRequest 中优先请求 hostName 和 hostPort #30062 当 contentLength 可用时在 Byt

2023-04-01

力开发平台,是采用领域驱动设计(DDD)思想的、全面拥抱 Spring Authorization Server 的、基于 OAuth2.1 协议的微服务架构。基于 Spring Authorization Server 1.1.0-M2、Spring Boot 3.0.5、Spring Cloud 2022.0.2、Spring Cloud Tencent 1.10.2-2022.0.1、Spring Cloud Alibab

2022-12-23

Spring Boot v3.0.1 现已发布,具体更新内容如下: Bug 修复 修复 LocalDevToolsAutoConfiguration logging 中的拼写错误#33615 当<springProfile>被用于Logback <root>块时,没有给出警告 #33610 自动配置 PropagationWebGraphQlInterceptor 以跟

2023-02-12

款企业级微服务架构和服务能力开发平台,是全面拥抱 Spring Authorization Server 的、基于 OAuth2.1 协议的微服务架构。基于 Spring Authorization Server 1.0.0、Spring Boot 3.0.2、Spring Cloud 2022.0.1、Spring Cloud Tencent 1.9.0-2022.0.1、Spring Cloud Alibaba 2022