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 发布列车的里程碑版本 5(M5)现已推出。该版本可以在 Spring 里程碑 存储库中找到。您可以查看 2022.0.0 的 发行说明以了解更多信息

2022.00-M5 发布列车的重大变化

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 发布列车。

Spring Batch 5.0.0-M7 现已推出!

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

我代表团队和所有贡献者很高兴地宣布,Spring Batch 5.0.0-M7 现已从我们的 里程碑存储库 中提供。

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

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

这篇博文详细介绍了这两个主要更改。有关更改的完整列表,请查看 发行说明

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

在版本 4 之前,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 峰会的全新版本,在这里与大家讨论 Spring Boot 和 Apache Kafka 的绝佳机遇。12 日,我将在比利时安特卫普参加精彩的 Devoxx 大会。10 月 17 日至 20 日,我将在拉斯维加斯参加 JavaOne 的全新版本。此外,还有更多活动,但我暂时不能透露具体内容。敬请期待!

就目前而言,我很高兴来到这里!本周我们有很多很酷的东西要讲,所以让我们直接开始吧……

A Bootiful Podcast:思想领袖 Chris Richardson(不,我并非讽刺地使用这个头衔!)

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

嗨,Spring 粉丝!在本期节目中,Josh Long(@starbuxman)与他的朋友 Chris Richardson(@crichardson)进行了交流,Chris 在思想潮流出现之前数年就帮助阐明和推动了云计算、响应式编程、微服务、领域驱动设计、事件溯源等等。此外,我们以前还一起工作过!

想在我们的生态系统中结识更多像 Chris 这样优秀的人吗?SpringOne 2022 即将到来!我觉得这就像是在某个重要的节日之前,那种既焦虑又兴奋的时刻,你即将收到礼物!随之而来的是 Spring Boot 3 和 Spring Framework 6。我们将宣布……

删除密码:Spring Boot 应用程序到 Azure 服务的无密码连接

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

使用用户名/密码凭据从一个应用程序访问另一个应用程序会带来巨大的安全风险,原因有很多。今天,我们宣布预览 Java 应用程序到 Azure 数据库和事件服务之间无密码连接的功能,让您终于可以摆脱使用密码了。

密码的安全挑战

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

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

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

我们的客户可能对连接到 Azure 服务有严格的安全要求,而无需向开发人员、运营商或任何其他人公开密码。他们通常使用保管库来存储密码并将其加载到应用程序中,并且他们通过添加密码轮换要求和程序进一步降低了风险。这反过来增加了操作复杂性,并可能导致应用程序连接中断。

无密码连接 – 零信任

现在,您可以在应用程序中使用无密码连接来连接到基于 Azure 的服务,并且无需进行任何代码配置。您不再需要轮换密码。使用“从不信任,始终验证和无凭据”的原则,零信任通过在授予后端服务访问权限之前仅在验证身份后才信任机器或用户,从而帮助保护所有通信。

“我们拥有的每个密码和每个 Key Vault 都是潜在的风险,这会增加更多开销和管理成本。我总是很高兴看到更多身份验证和授权由我们处理,并作为简单的集成交付到 Azure 上的 Java 和 Spring 生态系统中。当我不再需要 Key Vault 时,我不会感到难过,因为 PostgreSQL 现在支持无密码连接。”
-Jonathan Jones,首席解决方案架构师,瑞士再保险管理有限公司(瑞士)

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

您可以使用 服务连接器(请参见下面的图 2)配置对 Azure 服务的无密码连接,或者您可以手动配置它们。服务连接器在 Azure Spring Apps、App Service 和 Azure Container Apps 等应用程序托管服务中启用托管身份。它使用托管身份和 Azure RBAC 为后端服务配置无密码连接,并为应用程序提供必要的连接信息 – 不再需要密码。

图 2 – 服务连接器为 Java 应用程序到 PostgreSQL 数据库的连接配置无密码连接

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

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

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

对于本地开发和测试,开发人员可以使用相同的安排来连接到服务,而无需使用密码。您将通过 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 年 9 月 27 日 | ...

您好,Spring 粉丝!欢迎来到本周 Spring 的另一期!

9 月份已经进入最后一周了!今年已经过去了一大半。白天越来越快地变成了黑夜。南瓜香料拿铁也来了。天色变暗变冷有点让人扫兴,但在这个时候我还是感到兴奋和喜悦。你知道为什么吗?

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 Boot 2 的 Spring Native 实验项目中孵化了 3 年多之后,原生支持将随着 Spring Framework 6 和 Spring Boot 3 进入通用可用性!

原生镜像为 Java 应用程序提供了几乎即时的启动时间和减少的内存消耗。最近的 Spring Boot 3.0.0-M5 版本是我们首次寻求更广泛的社区反馈来了解我们的原生故事。如果您需要了解基础知识,请参阅 3 月下旬的 提前编译基础知识博客文章。您还可以学习 如何为 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 社区中所有即将举行的活动。

查看全部