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

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

相关推荐
chenyuhao20243 小时前
《C++二叉引擎:STL风格搜索树实现与算法优化》
开发语言·数据结构·c++·后端·算法
小old弟3 小时前
后端三层架构
java·后端
花花鱼3 小时前
spring boot 2.x 与 spring boot 3.x 及对应Tomcat、Jetty、Undertow版本的选择(理论)
java·后端
温柔一只鬼.3 小时前
Docker快速入门——第二章Docker基本概念
java·docker·容器
要争气3 小时前
5 二分查找算法应用
java·数据结构·算法
郑..方..醒3 小时前
java实现ofd转pdf
java·pdf
小咕聊编程3 小时前
【含文档+PPT+源码】基于springboot的旅游路线推荐系统的设计与实现
spring boot·后端·旅游
道可到3 小时前
阿里面试原题 java面试直接过06 | 集合底层——HashMap、ConcurrentHashMap、CopyOnWriteArrayList
java·后端·面试
超级神性造梦机器3 小时前
当“提示词工程”过时,谁来帮开发者管好 AI 的“注意力”?
前端·后端