【Spring Boot】SpringBoot中系统多环境配置

系统多环境配置

在实际项目中,需要面对不同的运行环境,比如开发环境、测试环境、生产环境等,每个运行环境的数据库、Redis服务器等配置都不相同,每次发布测试、更新生产都需要手动修改相关系统配置。这种方式特别麻烦,费时费力,而且出错概率大。

Spring Boot为我们提供了更加简单方便的配置方案来解决多环境的配置问题。

1.创建多环境配置文件

创建多环境配置文件时,需要遵循Spring Boot允许的命名约定来命令,格式为application-{profile}.properties,其中{profile}为对应的环境标识。

我们在resources目录下分别创建application-dev.properties、application-test.properties、application-prod.properties三个配置文件,对应开发环境、测试环境和生产环境。

在这里插入图片描述

  • application.properties为项目主配置文件,包含项目所需的所有公共配置。
  • application-dev.properties为开发环境配置文件,包含项目所需的单独配置。
  • application-test.properties为测试环境配置文件。
  • application-prod.properties为生产环境配置文件。
2. 修改配置文件

通常情况下,开发环境、测试环境和生产环境使用的数据库是不一样的,所以接下来以不同环境配置不同数据库为例来演示多环境的配置。

首先我们修改application.properties,修改配置系统的启动端口:

server.port=8088

application.properties 文件包含项目所需的所有公共配置,这里配置系统的启动端口,所有环境的启动端口都是8088。

然后我们可以修改dev、test、prod的环境配置,比如我们增加数据库的连接配置。

首先在pom.xml文件中引入依赖

<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
</dependency>

在dev文件中增加数据库连接:

# 指定数据库驱动
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
# 数据库jdbc连接url地址
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/test
# 数据库账号密码
spring.datasource.username=root
spring.datasource.password=123456

其他环境的配置文件修改对应的配置连接即可。

3. 多环境的切换

上面我们配置了多环境,那么在实际测试、运行过程中如何切换系统运行环境呢?

我们通过修改application.properties配置文件中的spring.profiles.active配置项来激活相应的运行环境。如果没有指定任何profile的配置文件,springboot默认会启动application-default.properties(默认环境)

指定项目的启动环境有以下3种方式:

  1. 配置文件指定项目启动环境

    Spring Boot支持通过 spring.profiles.active配置项目启动环境

    在application.properties配置文件中增加如下配置项

    spring.profiles.active=prod
    

我们这里配置的是dev开发环境,启动项目后

在这里插入图片描述

  1. IDEA编译器指定项目启动环境

我们可以在IDEA的Run/debug Configuration 页面配置项目启动环境。

在这里插入图片描述

在项目运行时,可以通过VM options、Program arguments、Active profiles三个参数设置启动方式。

在这里插入图片描述

  1. 命令行启动指定项目环境

    通过java -jar命令启动项目时,需要指定启动环境:

    java -jar xxx.jar --spring.profiles.active=dev
    

    在程序打包之后,可以在命令行中使用java-jar的方式启动,并设置启动参数spring.profiles.active=dev,以开发环境为默认配置。

  • 3
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: SpringBoot可以通过配置profile来实现多环境配置文件,只需要在application.properties或application.yml添加spring.profiles.active属性,指定当前激活的环境即可。例如,可以在application.properties添加:spring.profiles.active=dev,这样SpringBoot就会激活dev环境,加载application-dev.properties等配置文件。 ### 回答2: SpringBoot配置环境配置文件可以通过以下步骤实现: 1. 创建配置文件:在项目的资源文件夹下创建多个不同环境配置文件,通常以"application-"开头,并在文件名添加环境标识,如"application-dev.properties"、"application-test.properties"等。 2. 配置文件内容:在各个配置文件,根据不同环境的需求,设置不同的配置属性值。可以设置数据库连接、服务端口、日志级别等等。 3. 设置激活环境:在主配置文件(通常是"application.properties"),通过设置"spring.profiles.active"属性来指定当前激活的环境。例如,设置为"dev"表示激活开发环境。 4. 使用配置属性:在代码,可以使用"@Value"注解或者使用"Environment"对象来获取配置文件的属性值。通过这种方式,可以根据不同环境配置来动态改变应用程序的行为。 5. 多个配置文件的优先级:当存在多个配置文件时,SpringBoot将按照一定的优先级进行加载。其,主配置文件具有最低优先级,而具体环境配置文件具有更高的优先级。因此,如果某个配置属性在多个文件都存在,那么后加载的配置文件会覆盖前面加载的配置。 通过以上步骤,我们就可以在SpringBoot项目实现多环境配置文件。这样,我们可以根据不同的环境需求,灵活地配置应用程序的各个属性,提高了适应不同环境变化的能力。 ### 回答3: Spring Boot配置环境配置文件可以通过使用不同的配置文件来实现。一种常用的配置方式是通过在application.properties(或application.yml)文件使用不同的profile来指定环境。 首先,在src/main/resources目录下创建application-{profile}.properties(或application-{profile}.yml)文件,其{profile}代表环境名称,例如application-dev.properties(或application-dev.yml)代表开发环境配置文件,application-prod.properties(或application-prod.yml)代表生产环境配置文件。 然后,在application.properties(或application.yml)文件,添加一个配置spring.profiles.active={profile}来指定使用哪个环境配置文件。例如,如果想要使用开发环境配置文件,可以设置spring.profiles.active=dev。 接下来,在具体的配置文件,可以根据不同的需要设置不同的配置项。例如,在开发环境配置文件可以设置数据库连接的URL为本地环境的URL,而在生产环境配置文件可以设置数据库连接的URL为线上环境的URL。 最后,在代码通过注解@Value("${配置项名称}")来获取配置文件配置项的值。Spring Boot会根据当前使用的环境自动加载相应的配置文件,并将对应的配置项的值注入到相应的字段。 通过这种方式,我们可以根据不同的环境使用不同的配置文件,方便地进行开发、测试和部署。同时,Spring Boot还支持其他灵活的配置方式,例如使用命令行参数或环境变量来指定使用哪个环境配置文件。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值