SpringBoot 多环境配置与启动 banner 修改

SpringBoot 启动时默认会打印一个 Spring 字符图案。我们可以自定义这个 banner。

操作步骤:

  1. 生成自定义 Banner:

    • 有很多在线网站可以生成字符图案/艺术字。
    • 例如:搜索 "Spring Boot banner generator"。
  2. 配置 Banner:

    • 在项目的 src/main/resources 目录下,创建一个名为 banner.txt 的文件。
    • 将生成好的字符图案复制到 banner.txt 文件中。
  3. 验证效果:

    • 重启应用,控制台输出的启动图案就会变成你自定义的 banner。
    • 提示: 使用 AI 工具(如 ChatGPT)也可以轻松生成各种风格的 banner 文本。

二、高级功能:多环境配置 (Profile)

在开发中,不同环境(开发、测试、生产)的配置(如端口号、数据库连接)通常不同。手动修改配置文件既麻烦又容易出错。SpringBoot 提供了 Profile 机制来解决这个问题。

目标: 实现开发环境和生产环境使用不同的配置。

操作步骤:

  1. 创建多个配置文件:

    • 命名格式:application-{profile}.yml (或 .properties)。
    • 例如,我们创建两个文件:
      • application-dev.yml (开发环境)
      • application-prod.yml (生产环境)
  2. 编写环境特定配置:

    • application-dev.yml 中设置开发环境端口,例如 8080:
    yaml 复制代码
    server:
      port: 8080
    • application-prod.yml 中设置生产环境端口,例如 9090:
    yaml 复制代码
    server:
      port: 9090
  3. 在主配置中激活环境:

    • application.yml 中,使用 spring.profiles.active 参数来指定激活哪个配置文件。
    • 例如,激活开发环境:
    yaml 复制代码
    spring:
      profiles:
        active: dev # 这里写配置文件的 - 后面的名字
    • 这样,应用启动时就会加载 application-dev.yml 中的配置。
  4. 动态切换与验证:

    • 验证开发环境:
      • 设置 active: dev,重启应用。
      • 访问 http://localhost:8080,成功。
      • 访问 http://localhost:9090,失败。
    • 验证生产环境:
      • 修改 active: prod,重启应用。
      • 访问 http://localhost:8080,失败。
      • 访问 http://localhost:9090,成功。

三、核心总结

功能 核心要点 好处
自定义 Banner src/main/resources 下创建 banner.txt 文件 个性化启动界面,提升项目辨识度。
多环境配置 (Profile) 1. 创建 application-xxx.yml 文件 2. 在 application.yml 中通过 spring.profiles.active: xxx 激活 解耦配置,实现环境隔离。只需修改一个激活参数,即可切换整套配置,避免手动修改错误,非常灵活和高级。

通过这种方式,我们可以优雅地管理不同环境的配置,极大地提升了开发和部署的效率与可靠性。

相关推荐
我命由我1234512 小时前
Android Studio - Android Studio 自定义预览尺寸
android·java·ide·java-ee·android studio·android-studio·android runtime
mCell12 小时前
你以为短链接只是 Hash + 301/302?
后端·算法·架构
咖啡八杯13 小时前
GoF设计模式——迭代器模式
java·后端·设计模式·迭代器模式
AIGS00113 小时前
企业AI落地的关键认知:向量空间JBoltAI的本体语义平台
java·人工智能·人工智能ai大模型应用
KaMeidebaby14 小时前
卡梅德生物技术快报|抗体亲和力成熟工业化调控新机制:差异性浆细胞增殖工艺优化思路
java·开发语言·人工智能·算法·机器学习·架构·spark
醉城夜风~15 小时前
Java详解经典算法题:接雨水(三种实现方案+原理剖析)
java·开发语言·算法
数智化转型推荐官16 小时前
2026统一身份管理系统五大发展趋势解读
java·运维·微服务
看菜鸡互16 小时前
探索用 SlideML 让大模型生成 PPT 的实验方法
java·运维
IT_陈寒16 小时前
SpringBoot自动配置不是你以为的那样的智能
前端·人工智能·后端
程序员张318 小时前
SpringBoot集成BCrypt密码加密库
java·spring boot·后端