A Bootiful Podcast:Spring 和 Java 社区传奇人物 Marten Deinum

工程 | Josh Long | 2022年10月06日 | ...

大家好,Spring 爱好者!在本期节目中,Josh Long (@starbuxman) 与 Spring 社区的老成员兼传奇人物 Marten Deinum (@mdeinum) 讨论了水肺潜水、软件、Spring、社区等话题。

另外:我修复了之前几期节目中间出现的奇怪的静音问题!感谢您与我一同忍受。我不知道出了什么问题,但我现在知道如何修复它。

想认识我们生态系统中更多像Marten一样了不起的人吗?SpringOne 2022 就要到了!我感觉就像在某个重要的节日之前,那种既焦虑又兴奋的时刻,你会收到礼物!而随着它的到来,Spring Boot…

Spring Cloud 2022.0.0-M5 现已发布

发布 | Spencer Gibb | 2022年10月06日 | ...

我谨代表社区,非常高兴地宣布 Spring Cloud 2022.0.0 Release Train 的 Milestone 5 (M5) 今日发布。您可以在 Spring Milestone 仓库中找到该发布版本。您可以查阅 2022.0.0 的 发布说明以获取更多信息

2022.00-M5 Release Train 的主要变更

Spring Cloud Netflix

  • 更新至 Eureka 2.0.0-rc.3。Eureka 2.0.0 是 Eureka 的一个新分支,与 7 年前的 旧 2.x-archive 实验无关。新的 2.x 分支是为了与 JakartaEE 兼容。这使得 Spring Cloud Netflix 能够与 Spring Framework 6.0 和 Spring Boot 3.0 兼容。这是 Spring Cloud Netflix 首次参与 2022.0 release train 的里程碑发布。

Spring Batch 5.0.0-M7 现已发布!

版本发布 | Mahmoud Ben Hassine | 2022 年 10 月 05 日 | ...

我谨代表团队和所有贡献者,很高兴地宣布 Spring Batch 5.0.0-M7 已在我们的 milestone repository 中提供。

此里程碑的主要主题是改进 Spring Batch 中的作业参数处理。此版本引入了两项主要更改:

  • 添加支持使用任何类型作为作业参数
  • 改进作业参数转换

本博文将详细介绍这两个主要更改。有关完整的更改列表,请查看 release notes

添加支持使用任何类型作为作业参数

在 4.x 版本之前,Spring Batch 只支持 4 种可以用作作业参数的类型:longdoubleStringDate。虽然这在框架层面简化了作业参数的处理,但在用户层面却显得有些局限。例如,如果你想使用 boolean

Spring Shell 2.1.2 和 3.0.0-M1 现已发布

发布 | Janne Valkealahti | 2022 年 10 月 05 日 | ...

我谨代表团队以及所有贡献者,很高兴地宣布 Spring Shell 2.1.23.0.0-M1 已发布,并分别可通过 https://repo.spring.io/release、Maven Central 和 https://repo.spring.io/milestone 获取。

3.0.0-M1 是第一个里程碑版本,它构建于 Spring Boot 3.x 之上,需要 JDK 17。

更多详情请参阅 2.1.2 版本说明3.0.0-M1 版本说明

感谢所有通过问题报告和拉取请求做出贡献的人。

你如何提供帮助?

项目页面 | GitHub | 问题反馈 | 文档

本周 Spring 快讯 - 2022年10月4日

工程 | Josh Long | 2022年10月04日 | ...

大家好,Spring 爱好者!欢迎收看本期《本周 Spring 快讯》!今天是 2022 年 10 月 4 日,我人在德克萨斯州奥斯汀,参加曾经的 Kafka Summit 的新版本活动,与大家谈论 Spring Boot 和 Apache Kafka 的精彩机遇。12 号,我将在比利时安特卫普参加精彩的 Devoxx 大会。10 月 17 日至 20 日,我将在拉斯维加斯参加新的 JavaOne 版本。嗯,还有更多,但我暂时不能透露。敬请关注!

而现在,我很高兴来到这里!我们本周将介绍大量精彩内容,让我们直接开始吧…

A Bootiful Podcast:思想领袖 Chris Richardson(我不是在讽刺使用这个头衔!)

工程 | Josh Long | 2022年09月29日 | ...

大家好,Spring 爱好者!在本期节目中,Josh Long (@starbuxman) 与他的朋友 Chris Richardson (@crichardson) 进行了交谈,Chris Richardson 在多年前就清晰地阐述并推动了云计算、响应式编程、微服务、领域驱动设计、事件溯源等许多概念。另外,我们曾经共事过!

想认识我们生态系统中更多像Chris一样了不起的人吗?SpringOne 2022 就要到了!我感觉就像在某个重要的节日之前,那种既焦虑又兴奋的时刻,你会收到礼物!而随着它的到来,Spring Boot 3 和 Spring Framework 6。我们将宣布…

删除密码:Spring Boot 应用连接 Azure 服务实现无密码连接

工程 | Josh Long | 2022年09月27日 | ...

出于多种原因,使用用户名/密码凭据从一个应用程序访问另一个应用程序存在巨大的安全风险。今天,我们宣布为 Java 应用程序连接 Azure 数据库和事件服务提供无密码连接的预览版,让您最终可以摆脱使用密码。

密码的安全挑战

应谨慎使用密码,并且开发人员绝不能将密码放置在不安全的位置。许多 Java 应用程序通过用户名和密码(或其他敏感凭据,如访问令牌或连接字符串)连接到后端数据、缓存、消息和事件服务。如果暴露,密码可能被用来未经授权地访问敏感信息,例如您为即将进行的活动构建的销售目录,或者仅仅是所有必须保密的客户数据。

将密码嵌入应用程序本身存在巨大的安全风险,原因有很多,包括在代码存储库中被发现(见下图 1)。许多开发人员将此类密码外部化,使用环境变量,以便应用程序可以从不同环境中加载它们。然而,这只是将风险从代码本身转移到了执行环境。任何获得环境访问权限的人都可以窃取密码,进而增加数据泄露的风险。

图 1 – 显示了带有嵌入式用户名和密码以连接到数据库的 Java 代码

我们的客户可能有严格的安全要求,以便在不向开发人员、操作员或任何其他人公开密码的情况下连接到 Azure 服务。他们通常使用密钥库来存储和加载密码到应用程序中,并通过添加密码轮换要求和程序来进一步降低风险。这反过来又增加了操作复杂性,并可能导致应用程序连接中断。

无密码连接 – 零信任

现在,您可以在应用程序中使用无密码连接,通过零配置的方式连接到基于 Azure 的服务。您不再需要轮换密码。利用“永不信任,始终验证,无凭据”的原则,零信任通过在授予对后端服务的访问权限之前验证身份来保护所有通信。

“每一个密码和每一个 Key Vault 都是潜在的风险,这增加了额外的管理开销和成本。我一直很高兴看到更多的身份验证和授权功能得到处理,并作为简单的集成被推送到 Azure 上的 Java 和 Spring 生态系统中。当我删除我们的 Key Vault 时,我不会流一滴眼泪,因为现在 PostgreSQL 支持无密码连接。”
- Jonathan Jones,首席解决方案架构师,Swiss Re Management Ltd. (瑞士)

使用托管标识和 Azure RBAC(基于角色的访问控制)组合是 Java 应用程序安全无密码连接到 Azure 服务的推荐身份验证选项。开发人员或操作员不需要手动跟踪和管理许多不同的托管标识秘密,因为这些任务由 Azure 在内部安全地处理。

您可以使用 Service Connector(见下图 2)将无密码连接配置到 Azure 服务,也可以手动配置。Service Connector 支持 Azure Spring Apps、App Service 和 Azure Container Apps 等托管服务中的托管标识。它使用托管标识和 Azure RBAC 配置后端服务,提供应用程序所需的连接信息 – 无需再处理密码。

图 2 – Service Connector 为 Java 应用连接 PostgreSQL 数据库配置无密码连接

如果您检查已配置为无密码连接的应用程序的运行环境,您可以看到完整的连接字符串。例如,图 3 显示了它如何包含数据库服务器地址、数据库名称以及委托身份验证给 Microsoft Azure 的 JDBC 身份验证插件的指令。

图 3 – datasource 配置“spring.datasource.url”显示无密码连接

让我们考虑一个连接到使用 Spring Cloud Azure starter 的 PostgreSQL 数据库的 Spring Boot 应用程序。该 starter 为 Spring Data JPA 模块组合了一个不带密码的连接字符串。从连接字符串中,驱动程序会明白它必须加载 Azure 的 JDBC 身份验证插件,该插件使用 Azure Identity Client Library 获取访问令牌。驱动程序使用令牌作为密码登录数据库 – 无需再用密码。

对于本地开发和测试,开发人员可以使用相同的安排连接到服务而不使用密码。您将通过 Azure CLI、IntelliJ 或任何开发工具进行身份验证,并使用该身份来保护应用程序与 Azure 服务无密码连接的访问。

了解更多并删除密码!

您可以在应用程序中摆脱使用密码。立即将现有 Java 应用程序迁移到使用 Azure 服务的无密码连接!

阅读更多关于无密码连接的信息 – https://aka.ms/Delete-Passwords

资源

<tbody>

<tr>
    <td>Azure Service</td>
    <td>Java Quickstart</td>
    <td>Spring Quickstart</td>
    <td>Migration Guide</td>
</tr>


<tr>
    <td> Azure Database for MySQL</td>
    <td>
    <a href="https://learn.microsoft.com/en-us/azure/mysql/single-server/connect-java?toc=%2Fazure%2Fdeveloper%2Fintro%2Ftoc.json&amp;bc=%2Fazure%2Fdeveloper%2Fintro%2Fbreadcrumb%2Ftoc.json&amp;tabs=passwordless">JDBC</a>
    </td>
    <td>
        <div><a href="https://learn.microsoft.com/en-us/azure/developer/java/spring-framework/configure-spring-data-jdbc-with-azure-mysql?tabs…

本周 Spring 快讯 - 2022年9月27日

工程 | Josh Long | 2022年09月27日 | ...

大家好,Spring 粉丝们!又到了一期“本周 Spring”!

已经是九月的最后一周了!一年过半已是过去式。白天越来越短,越来越冷。南瓜香料拿铁也随之而来。天色渐暗,寒意渐浓,这着实让人扫兴,但我仍然对一年中的这个时候感到兴奋和欣喜。您知道为什么吗?

SpringOne 2022 就要到了!我感觉就像在某个重要的节日之前,那种既焦虑又兴奋的时刻,你会收到礼物!而随着它的到来,Spring Boot 3 和 Spring Framework 6。当然,我们将在 Spring 博客上宣布一切,但如果你想有机会向源头学习,那么我希望你能于 2022 年 12 月 6 日至 8 日加入我们,地点就在我的家乡旧金山,我最喜欢的美国西海岸城市,我的家乡。 (悄悄话:如果你现在注册,使用此代码 S1VM22_Advocate_200 可享受通行证价格减免 200 美元…)

Spring Boot 3.0.0-M5 中的原生支持

工程 | Stéphane Nicoll | 2022 年 9 月 26 日 | ...

Spring 团队一直致力于为 Spring 应用程序提供原生镜像支持。经过在 Spring Native 实验项目(与 Spring Boot 2 配合使用)中 3 年多的孵化,原生支持将随 Spring Framework 6 和 Spring Boot 3 一起进入通用可用阶段!

原生镜像可为 Java 应用程序提供近乎即时的启动时间和更低的内存消耗。最近发布的 Spring Boot 3.0.0-M5 版本是我们首次就原生支持征求更广泛的社区反馈。如果你需要回顾基础知识,请参阅三月下旬发布的“提前编译基础知识”博客文章。你还可以了解如何为 Spring Boot 3.0 准备你的应用程序

我的 SpringOne 2022

工程 | Josh Long | 2022年9月23日 | ...

我花了很长时间才认识到并理解,在软件开发方面,细节决定成败。编写“happy path”业务逻辑并不是难点!难点在于故障场景、可观测性、韧性以及流程。还有安全和其他所谓的非功能性需求。以及架构设计上的敏捷性。还有生产环境。Spring之所以独特,是因为它处于许多激动人心的应用程序开发讨论的交汇点。

Spring 的社区包罗万象,是其关键的定义性特征之一。这种多元化的讨论意味着,任何致力于涵盖所有想法的会议都会面临挑战。在我看来——我一生中参加过数千场演出和活动!——我不知道还有其他任何展会能像 SpringOne 一样全面涵盖应用程序开发的各个方面…

获取 Spring 新闻通讯

通过 Spring 新闻通讯保持联系

订阅

领先一步

VMware 提供培训和认证,助您加速进步。

了解更多

获得支持

Tanzu Spring 提供 OpenJDK™、Spring 和 Apache Tomcat® 的支持和二进制文件,只需一份简单的订阅。

了解更多

即将举行的活动

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

查看所有

版权所有 © 2005 -2025Broadcom。保留所有权利。“Broadcom”一词指 Broadcom Inc. 和/或其子公司。
使用条款 隐私 商标指南

Apache®、Apache Tomcat®、Apache Kafka®、Apache Cassandra™ 和 Apache Geode™ 是 Apache Software Foundation 在美国和/或其他国家的商标或注册商标。Java™、Java™ SE、Java™ EE 和 OpenJDK™ 是 Oracle 和/或其关联公司的商标。Kubernetes® 是 Linux Foundation 在美国和其他国家的注册商标。Linux® 是 Linus Torvalds 在美国和其他国家的注册商标。Windows® 和 Microsoft® Azure 是 Microsoft Corporation 的注册商标。“AWS”和“Amazon Web Services”是 Amazon.com Inc. 或其关联公司的商标或注册商标。所有其他商标和版权均为其各自所有者的财产,仅为提供信息之目的提及。其他名称可能是其各自所有者的商标。