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博客

相关推荐
用户3169353811834 分钟前
SpringBoot + Vue 项目生产环境部署完整指南
前端·后端
步行cgn9 分钟前
MyBatis 多对一关联映射详解
java
仍然.12 分钟前
SpringCloud---Eureka介绍
java·spring cloud·eureka
霸道流氓气质16 分钟前
Spring 事务同步机制 —— AfterTransactionActionCollector 的异步解耦原理
java·后端·spring
Lightpwd24 分钟前
PostgreSQL jsonb 写入踩坑:一条 `\u0000` 如何让整批同步失败,还把异常伪装成“数据完整性冲突”
java
Csvn25 分钟前
📊 SQL 入门 Day 19:事务与隔离级别
后端·sql
周周哈哈哈31 分钟前
线程创建、执行、退出、回收
java·开发语言
云边有个稻草人32 分钟前
飞算JavaAI能处理SaaS套餐变更业务吗?
java·springboot·ai编程·java开发·飞算javaai·java代码生成·ai coding模型
面试鸭33 分钟前
Anthropic 让 Claude 接了 CI 值班的第一班,人剩下的是写规则和合 PR
后端·面试
小强198836 分钟前
useRef 到底用来干什么?不止获取 DOM 元素
后端