SpringBoot入门学习笔记七(多环境设置及切换)

版权声明:本文为 小异常 原创文章,非商用自由转载-保持署名-注明出处,谢谢!
本文网址:https://blog.csdn.net/sun8112133/article/details/103198615







一个应用程序从开发到上线,往往需要经历几个阶段,比如开发、测试、实施、上线等。每个阶段所用到的环境配置可能都是不一样的,Spring Boot 可以很方便地在各个环境中对配置进行切换。所以,本篇主要讲解 Spring Boot 中多种环境(profile)的设置及切换。


一、四种环境

一般情况下我们常见的环境有: pro环境pre环境test环境dev环境 ,它们分别代表 生产环境灰度环境测试环境开发环境

  • pro环境

    生产环境 ,面向外部用户的环境,连接上互联网即可访问的正式环境。

  • pre环境

    灰度环境 ,外部用户可以访问,但是服务器配置相对低,其它和生产一样。

  • test环境

    测试环境 ,外部用户无法访问,专门给测试人员使用的,版本相对稳定。

  • dev环境

    开发环境 ,外部用户无法访问,开发人员使用,版本变动很大。



二、多个配置文件配置环境

我们都知道 Spring Boot 默认会读取 application.properties配置文件,所以我们要在 application.properties配置文件 中指定本次项目运行时的环境。

如果我们在项目中配置了多个环境,那么我们就需要在 application.properties配置文件 中指定本次要使用的环境名。

每一个环境其实就是一个配置文件,但这个配置文件却有一定的命名规范。

1、命名格式

application-环境名.properties

application-环境名.yml

如果要选择某一个具体的环境:我们需要在 application.properties配置文件 中指定对应的环境:

spring.profiles.active=环境名

2、注意事项

  • 如果 application.properties配置文件 中没有配置任何信息,那么 Spring Boot 默认也会读取其他环境配置文件中的配置,所以环境名是不能自定义的。
  • 如果你发现在 application.properties配置文件 中没有相应的提示,我们可以在 pom.xml文件 中加上以下依赖信息:
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-configuration-processor</artifactId>
    <optional>true</optional>
</dependency>

然后重新打开 application.properties配置文件,当你使用 Alt+/ 时,就会显示对应的配置提示了。



三、在 yaml 文件中配置环境

我们在上一节中已经讲过使用多个配置文件来配置各个环境。我们其实在 yaml文件 中配置环境,可以只在一个配置文件(application.yml配置文件)中配置多个环境的配置信息。

下列代码是在 application.yml配置文件 中设置多种环境。我们要使用分隔线来划分多个环境配置信息:

#第一个环境(主环境)
server:
	port: 8883
spring:
	profiles: 
		active: dev   #指定本次采用的环境(默认会读取 dev环境 的配置信息,不会读取其他环境的配置信息)

#第二个环境(dev环境)
---  #环境分隔线
server:
	port: 8884
spring:
	profiles: dev   #设置环境名
student:
	aa: 888888888

#第三个环境(test环境)
---  #环境分隔线
server:
	port: 8885
spring:
	profiles: test  #设置环境名


四、动态切换环境

如果在 application.properties配置文件application.yml配置文件 中 没有指定环境,我们也可以在项目运行的时候动态的指定所使用的环境。我们可以通过以下两种方式来切换环境:

1、运行参数方式

1)STS(Eclipse)

如果我们使用的是类似 STSIDE工具,我们可以选择 右键 Run As -> Run Configurations -> Arguments -> Program arguments

然后输入:--spring.profiles.active=环境名 命令,点击 Run 运行项目即可。

STS参数方式

2)CMD

如果不借助 IDE工具,我们需要先将 项目进行打 Jar包(右键 Run As -> Maven build… -> Goals:package -> Run),然后在 CMD命令行窗口 执行 java -jar HelloWorld-0.0.1-SNAPSHOT.jar --spring.profiles.active=环境名 命令。


2、通过VM参数指定环境

类似 STSIDE工具 其实还有一种动态切换方式,我们可以通过 VM参数 来指定环境,我们可以选择 右键 Run As -> Run Configurations -> Arguments -> VM arguments

然后输入: -Dspring.profiles.active=环境名 命令,点击 Run 运行项目即可。

VM参数方式



博客中若有不恰当的地方,请您一定要告诉我。前路崎岖,望我们可以互相帮助,并肩前行!



发布了166 篇原创文章 · 获赞 169 · 访问量 15万+

猜你喜欢

转载自blog.csdn.net/sun8112133/article/details/103198615