我的SpringOne 2023回顾

工程 | Josh Long | 2023年8月29日 | ...

嗨,Spring 粉丝们!看,这是21世纪20年代第一个SpringOne线下会议后的星期一,也是疫情以来的第一次,说实话,我累坏了!拉斯维加斯是一次令人眼花缭乱、令人兴奋、难以置信的经历,SpringOne也是如此。但这一切都是值得的。SpringOne展会超出了所有预期,所以绝对值得。

这种压倒性的规模在主题演讲中最为明显,座无虚席。我无法真正回顾整个展会,但我确实想谈谈您在主题演讲中看到的一些重大主题。

在主题演讲中,优秀的、伟大的、无与伦比的David Syer博士、Moritz Halbritter和我一起庆祝了Spring Boot十周年。(是的,它已经十岁了。我也难以置信!)今年,我们还庆祝了Spring Framework二十周年(20!)。你们当中敏锐的人会知道,Spring Framework 1.0直到2004年才发布,19年前,但Spring Framework的早期版本看起来像我们今天所知的Spring Framework,也叫作Spring Framework。而那些非常敏锐的人可能会记得,Spring Boot是在2014年4月1日发布的,九年前,但在2013年也有早期版本。

Syer博士和我回顾了过去十年,回顾了该技术的各种版本,包括一些轶事和关于事物如何变化和发展以及——重要的是——事物如何保持不变的思考。我们做了一些令人难以置信的事情。我们复活了(可能仅限时?)古老的Spring Initializers!想要生成一个以Spring Boot 1.0为中心的项目?访问start100.spring.io。1.5?Start150.spring.io。2.0左右?start200.spring.io。当然,如果您想构建一个3.x项目,请访问当代的start.spring.io体验。在我们的演示中,我们从1.0(看!启动器,start.spring.io,自动配置等)、2.0(响应式编程,动画ASCII艺术,Kubernetes支持等)一直发展到Spring Boot的倒数第二个版本3.0(GraalVM原生镜像,优化,Jakarta EE等),该版本于2022年11月发布。但是3.1呢?

身穿Lederhosen(你必须在那里才能看到……)的Spring Boot贡献者Moritz Halbritter帮助Syer博士和我赶上了Spring Boot 3.1中最新最好的功能,增加了Testcontainers和Docker Compose支持。整个15分钟都非常有趣,但这甚至不是那天我们看到的唯一内容。

Spring Framework负责人、传奇人物和联合创始人Juergen Hoeller回顾了Spring 20年的历史(还有谁能比他更好?他经历了所有20年!),然后介绍了Spring Framework 6.1(以及今年11月底到期的Spring Boot 3.2)中支持的一些令人兴奋的新机遇和主题,包括Project Loom、Project CRaC、Java 21等等。

Juergen奠定了基础,后续发言者提供了甜点,为我们带来了详细信息。在我看来,Cora Iberkleid的贡献,介绍(并解释)Spring Framework 6.1中虚拟线程(Project Loom)的强大功能,可能是我最喜欢的主题演讲部分。她介绍了spring.threads.virtual.enabled=true,您将在Spring Boot 3.2和Spring Framework 6.1中指定它,以在支持的项目组合(如Apache Tomcat、Spring Data等)中启用虚拟线程。

我长期以来一直说,虚拟线程可能是添加到Java中最让我喜欢的单个功能。人们已经离开了生态系统,并使用远远落后的语言来获得Project Loom承诺带给Java的东西。它具有革命性,我等不及了!请记住,包含Project Loom的Java 21将于2023年9月19日发布!千万不要错过!

Project Loom承诺显着提高具有阻塞IO的工作负载的可扩展性,但是启动和性能如何呢?Spring在GraalVM方面拥有良好的记录,自Spring Boot 3.0和2022年以来一直得到支持。这种情况只会越来越好。GraalVM擅长减少给定服务的内存开销提高启动时间。

但GraalVM并不是提高启动时间的唯一方法。在Spring Framework 6.1中也支持一项新计划,称为Project CRaC(检查点协调恢复),它可以显著提高启动时间。响应式编程和Netty传奇人物Violeta Georgieva登台讨论了使用JVM检查点恢复扩展到零。

启动时间对于各种工作负载(如平台即服务)至关重要,但在无服务器、扩展到零和函数即服务平台中尤其重要。在这里,我们有一些令人兴奋的新发展。AWS的Mark Sailles以及Spring和事件处理传奇人物Oleg Zhurakousky介绍了一个令人兴奋的新领域:编写可以在AWS Lambda和Azure Functions等无服务器基础架构上部署和扩展到零的Spring MVC风格的`@Controller`。

说到Azure,微软的Asir Selvasingh和VMware的Adib Saikali有一个精彩的环节,介绍了Azure Spring Apps的一些令人兴奋的新机遇(和折扣!),这是一个在Microsoft Azure上运行的联合开发和管理平台。他们演示的一件事是使用AI——“人工智能?”我听到你倒吸一口凉气,“在2023年?我无法预料到!”——通过Azure的OpenAI集成,这是一种人们可以通过Microsoft Azure以熟悉、集成的 방식来使用的托管OpenAI即服务产品。它与新的Spring AI项目配合得非常好!

这就引出了Spring AI的到来!这个小型会议的受欢迎程度爆炸式增长。传奇人物Mark Pollack博士(Spring Data的首位负责人,Spring.NET的创建者,Spring Cloud Data Flow的联合创始人)主持了一个对新兴的Spring AI充满兴趣的会议,我甚至和他一起进行了直播讨论。Spring AI带来一个简单的AiClient,您可以自动配置(为所选大型语言模型提供适当的密钥)并注入它,以使其生成对人类语言查询的响应。真是一个美好的时代!

有一个令人难以置信的五分钟长的蒙太奇,其中包含来自Spring生态系统中知名人士的赞扬、祝贺和良好祝愿——例如Matt Raible(Okta开发者倡导者和Java Champion)、Trisha Gee(Gradle开发者倡导者和Java Champion)、Mala Gupta(Jetbrains IntelliJ IDEA开发者倡导者和Java Champion)、Sergei Egorov(Testcontainers和Atomicjar联合创始人)、Andreas Marek(GraphQL Java创始人)、Alina Yurenko(Oracle Labs的GraalVM开发者倡导者)、Roman Elizarov(Kotlin语言和协程专家)和Marc Philipp(JUnit团队负责人)。

这些只是其中一些主要主题,您应该在这里观看。我根本不可能捕捉到我甚至最喜欢的十个会议。您应该在这里观看,因为它们将上线。(其中一些已经上线了,所以开始行动吧!)

这场展会承担了不可能完成的任务——为SpringOne提供期待已久的线下活动回归,同时庆祝Spring 20周年(你看到了吗)和Spring Boot 10周年,同时捕捉现代JVM时代中无与伦比的多样化思想,并为世界上最大的生态系统做好准备迎接未来的挑战。但是,不知何故,它做到了!我期待着明年!

获取Spring时事通讯

与Spring时事通讯保持联系

订阅

领先一步

VMware提供培训和认证,以加快您的进度。

了解更多

获取支持

Tanzu Spring在一个简单的订阅中提供OpenJDK™、Spring和Apache Tomcat®的支持和二进制文件。

了解更多

即将举行的活动

查看Spring社区中所有即将举行的活动。

查看全部