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

相关推荐
鱼樱前端8 分钟前
maven的基础安装和使用--mac/window版本
java·后端
Asthenia04129 分钟前
Java 有乐观锁吗?深入分析 CAS 与并发容器
后端
Asthenia041219 分钟前
类加载有几种?ClassLoader显式加载/new隐式加载/字面量加载/访问静态字段加载
后端
RainbowSea33 分钟前
6. RabbitMQ 死信队列的详细操作编写
java·消息队列·rabbitmq
RainbowSea41 分钟前
5. RabbitMQ 消息队列中 Exchanges(交换机) 的详细说明
java·消息队列·rabbitmq
怒放吧德德44 分钟前
MySQL篇:MySQL主从集群同步延迟问题
后端·mysql·面试
Asthenia04122 小时前
RBAC模块分析:菜单-权限/角色-权限/用户-角色
后端
uhakadotcom2 小时前
MQTT入门:轻量级物联网通信协议
后端·面试·github
李少兄2 小时前
Unirest:优雅的Java HTTP客户端库
java·开发语言·http
此木|西贝2 小时前
【设计模式】原型模式
java·设计模式·原型模式