SpringBoot后端开发常用工具详细介绍——application多环境配置与切换

文章目录

引言介绍

application.yml 是 Spring Boot 中用于配置应用程序的主配置文件,它允许你配置应用程序的各种属性,如服务器端口、数据库连接、缓存策略等。这个文件支持不同环境的配置,我们可以为开发环境、测试环境和生产环境创建不同的配置文件。

  • application-dev.yml:这是为开发环境准备的配置文件,通常包含开发环境中特有的配置,如数据库连接、服务器端口等。开发环境配置可以比较随意,为了开发调试方便,一般打开全部错误报告。
  • application-test.yml:这是为测试环境准备的配置文件,测试环境一般是克隆一份生产环境的配置,用于进行全面的测试,看看所实现的功能有没有bug。
  • application-prod.yml:这是为生产环境准备的配置文件,生产环境是正式提供对外服务的,一般会关掉错误报告,打开错误日志。生产环境的配置需要更加谨慎和稳定。

在真实的工作中,你可以通过在 application.yml 文件中使用 spring.profiles.active 来激活不同的配置文件。例如,设置 spring.profiles.active: dev 会激活 application-dev.yml 配置文件。这样,项目最终会采用 application.yml 和激活的环境配置的组合。

操作方式通常是在项目的资源目录 src/main/resources 下创建这些配置文件。在部署或启动应用程序时,可以通过命令行参数或者环境变量来指定当前激活的环境配置文件。例如,在启动应用程序时,可以使用以下命令来激活开发环境配置:

shell

shell 复制代码
java -jar yourapp.jar --spring.profiles.active=dev

或者,在 application.yml 文件中直接指定激活的配置文件:

yaml 复制代码
spring:
  profiles:
    active: dev

这样,Spring Boot 会加载 application.yml 中的公共配置,并覆盖或添加 application-dev.yml 中针对开发环境的特定配置。同样的,你可以为测试和生产环境设置 testprod 作为激活的配置文件。

application.yml(主配置文件)

yaml 复制代码
spring:
  application:
    name: my-application
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    # 数据源配置,这里使用占位符,具体值由环境配置文件提供
    url: ${DB_URL}
    username: ${DB_USER}
    password: ${DB_PASSWORD}

server:
  port: ${SERVER_PORT}

# 通用配置
logging:
  level:
    root: INFO

application-dev.yml(开发环境配置)

yaml 复制代码
spring:
  profiles: dev
  datasource:
    url: jdbc:mysql://localhost:3306/mydatabase_dev
    username: dev_user
    password: dev_password

server:
  port: 8080

logging:
  level:
    root: DEBUG

application-test.yml(测试环境配置)

yaml 复制代码
spring:
  profiles: test
  datasource:
    url: jdbc:mysql://test-server:3306/mydatabase_test
    username: test_user
    password: test_password

server:
  port: 8888

logging:
  level:
    root: WARN

application-prod.yml(生产环境配置)

yaml

yaml 复制代码
spring:
  profiles: prod
  datasource:
    url: jdbc:mysql://prod-server:3306/mydatabase_prod
    username: prod_user
    password: prod_password

server:
  port: 80

logging:
  level:
    root: ERROR

在这些配置文件中,我们使用了占位符(如 ${DB_URL}, ${DB_USER}, ${SERVER_PORT})来表示那些可能因环境而异的配置项。在环境特定的配置文件中,我们提供了具体的值。

激活配置文件

要激活特定的环境配置,可以在启动应用程序时通过命令行参数指定,例如:

shell 复制代码
java -jar yourapp.jar --spring.profiles.active=dev

或者在 application.yml 文件中指定默认激活的配置文件:

yaml 复制代码
spring:
  profiles:
    active: dev

这样,Spring Boot 会加载 application.yml 中的通用配置,并覆盖或添加 application-dev.yml 中的开发环境特定配置。对于测试和生产环境,操作相同,只需将 dev 替换为 testprod

参考内容

Spring Boot 多环境如何配置-CSDN博客

相关推荐
三小河7 分钟前
Agent Skill与Rules的区别——以Cursor为例
前端·javascript·后端
kali-Myon11 分钟前
2025春秋杯网络安全联赛冬季赛-day1
java·sql·安全·web安全·ai·php·web
我是咸鱼不闲呀15 分钟前
力扣Hot100系列20(Java)——[动态规划]总结(下)( 单词拆分,最大递增子序列,乘积最大子数组 ,分割等和子集,最长有效括号)
java·leetcode·动态规划
三小河20 分钟前
前端视角详解 Agent Skill
前端·javascript·后端
清水白石00824 分钟前
深入解析 LRU 缓存:从 `@lru_cache` 到手动实现的完整指南
java·python·spring·缓存
牛奔29 分钟前
Go 是如何做抢占式调度的?
开发语言·后端·golang
颜酱34 分钟前
二叉树遍历思维实战
javascript·后端·算法
符哥200837 分钟前
C++ 进阶知识点整理
java·开发语言·jvm
Sayuanni%31 小时前
初阶_多线程1(线程含义与关键属性)
java
程序媛徐师姐1 小时前
Java基于微信小程序的模拟考试系统,附源码+文档说明
java·微信小程序·java模拟考试系统小程序·模拟考试微信小程序·模拟考试系统小程序·模拟考试小程序·java模拟考试小程序