Spring Boot 2.4 版本升级指南:夯实你的多环境配置

本贴最后更新于 300 天前,其中的信息可能已经时异事殊

在软件开发的世界里,Spring Boot 像是一股清流,它以约定大于配置的理念,简化了 Spring 应用的初始搭建以及开发过程。但随着版本的不断迭代,Spring Boot 在 2.4 版本中带来了一些重要的变化,尤其是在多环境配置方面。本文将带你深入理解这些变化,助你在技术的浪潮中乘风破浪。

🔍 旧版本的多环境配置

在 Spring Boot 2.4 之前,我们配置多环境是通过 spring.profiles 来实现的。举个例子,如果我们有开发环境(dev)和生产环境(prod),通常会这样写:

spring:
  profiles:
    active: "dev"

---
spring.profiles: "dev"
spring.profiles.include: "dev-db,dev-mq"

---
spring.profiles: "dev-db"
db: dev-db.didispace.com

---
spring.profiles: "dev-mq"
mq: dev-mq.didispace.com

这样的配置结构,通过 spring.profiles.include 属性来引入不同的中间件配置,看起来非常直观。启动应用时,可以在日志中看到被激活的配置组,如 dev,dev-db,dev-mq

🆕 2.4 版本的多环境配置

然而,当你迈入 Spring Boot 2.4 的世界,上述的配置方式已经行不通了。新版本中,spring.profiles 已不再使用,取而代之的是 spring.config.activate.on-profilespring.profiles.group

这样的改动,虽然一开始可能让人不太适应,但其实它带来了更加强大和灵活的配置方式。新的配置长这个样子:

spring:
  profiles:
    active: "dev"
    group:
      "dev": "dev-db,dev-mq"
      "prod": "prod-db,prod-mq"

---
spring:
  config:
    activate:
      on-profile: "dev-db"
db: dev-db.didispace.com

---
spring:
  config:
    activate:
      on-profile: "dev-mq"
mq: dev-mq.didispace.com

---
spring:
  config:
    activate:
      on-profile: "prod-db"
db: prod-db.didispace.com

---
spring:
  config:
    activate:
      on-profile: "prod-mq"
mq: prod-mq.didispace.com

此时,如果我们启动应用,默认激活的是 dev 配置,相应的 dev-dbdev-mq 也会被激活。同样,我们可以通过修改 spring.profiles.activeprod,来快速切换到生产环境的配置。

🔄 环境切换的优雅演进

在 2.4 版本中,所有环境的定义都转移到了 spring.profiles.group 中,这意味着你可以在一个地方管理所有的环境配置。这不仅让配置文件看起来更加整洁,而且可以更加灵活地控制各个环境所需要加载的配置组。

🎯 精准的配置激活

通过 spring.config.activate.on-profile 属性,我们可以更加精准地控制配置的激活条件。这是一个更加细粒度的控制方式,它为我们提供了更多的可能性,比如基于特定条件激活某些配置组。

🛠️ 实践出真知

为了帮助你更好地掌握这些改动,程序猿 DD 还提供了一个样例工程。通过实际操作,你可以更直观地感受到新旧配置方式的差异。同时,相关阅读中还有更多的 Spring Boot 配置细节等着你去探索。无论你是 Spring Boot 的新手,还是有经验的开发者,这些知识都将对你大有裨益。

🌐 相关阅读

当然,多环境配置只是冰山一角。如果你想深入了解 Spring Boot 2.x 的其他高级特性,如配置元数据、日志管理、数据访问和缓存使用等,不妨浏览一下程序猿 DD 的其他文章。每一篇都是精心准备,旨在帮助你在 Spring Boot 的世界中游刃有余。

🎉 总结

Spring Boot 2.4 的变化,是 Spring 团队对现有配置机制的一次深思熟虑的优化。虽然刚开始可能会有点不习惯,但一旦你理解并掌握了这些新特性,你会发现它们为你的应用构建带来了更强大的支持和更高的灵活性。所以,拥抱变化,拥抱新的 Spring Boot 2.4,让我们一起在技术的道路上不断前进!

  • Spring

    Spring 是一个开源框架,是于 2003 年兴起的一个轻量级的 Java 开发框架,由 Rod Johnson 在其著作《Expert One-On-One J2EE Development and Design》中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许使用者选择使用哪一个组件,同时为 JavaEE 应用程序开发提供集成的框架。

    943 引用 • 1460 回帖 • 3 关注

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...