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 激活 解耦配置,实现环境隔离。只需修改一个激活参数,即可切换整套配置,避免手动修改错误,非常灵活和高级。

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

相关推荐
蓝斯4978 小时前
[原创]《C#高级GDI+实战:从零开发一个流程图》第章:增加贝塞尔曲线,上、下、左、右连接点
java·c#·流程图
前端工作日常8 小时前
我学习到的Java 的 Service 分层:itf 和 impl 到底是什么?
java·后端
都叫我大帅哥9 小时前
Spring @Transactional 注解完全指南
java·spring
Java成神之路-9 小时前
G1 垃圾回收器 :SATB + TAMS核心机制深度解析
java·jvm
前端工作日常9 小时前
我学习到的JIT即时编译与机器码缓存失效
java·后端
带刺的坐椅9 小时前
Solon 的 10 种 HTTP 服务器:改一行依赖,换一个引擎
java·solon·jetty·undertow·mcp-server·htttp
犀利豆9 小时前
Claude Code Tools 研究系列(三)ExitPlanMode
人工智能·后端
星栈10 小时前
oh-my-pi工程级AI编码工使用体验
人工智能·后端·agent
xcLeigh10 小时前
Go入门:变量声明的五种方式详解
java·开发语言·golang
AI大模型-小华10 小时前
Codex 三方充值快速入门指南
java·前端·数据库·chatgpt·ai编程·codex·chatgpt pro