快盘下载:好资源、好软件、快快下载吧!

快盘排行|快盘最新

当前位置:首页软件教程电脑软件教程 → springboot多环境配置文件命名格式 SpringBoot多环境配置及配置文件分类

springboot多环境配置文件命名格式 SpringBoot多环境配置及配置文件分类

时间:2022-10-11 11:44:47人气:作者:快盘下载我要评论

一、多环境配置
在工作中;对于开发环境、测试环境、生产环境的配置肯定都不相同;比如我们开发阶段会在自己的电脑上安装 mysql ;连接自己电脑上的 mysql 即可;但是项目开发完毕后要上线就需要该配置;将环境的配置改为线上环境的。
springboot多环境配置文件命名格式 SpringBoot多环境配置及配置文件分类

来回的修改配置会很麻烦;而 SpringBoot 给开发者提供了多环境的快捷配置;需要切换环境时只需要改一个配置即可。不同类型的配置文件多环境开发的配置都不相同;接下来对不同类型的配置文件进行说明

1.1 yaml文件
在 application.yml 中使用 — 来分割不同的配置;内容如下

#开发
spring:
profiles: dev #给开发环境起的名字
server:
port: 80

#生产
spring:
profiles: pro #给生产环境起的名字
server:
port: 81

#测试
spring:
profiles: test #给测试环境起的名字
server:
port: 82

上面配置中 spring.profiles 是用来给不同的配置起名字的。而如何告知 SpringBoot 使用哪段配置呢?可以使用如下配置来启用都一段配置

#设置启用的环境
spring:
profiles:
active: dev #表示使用的是开发环境的配置
综上所述;application.yml 配置文件内容如下

#设置启用的环境
spring:
profiles:
active: dev

#开发
spring:
profiles: dev
server:
port: 80

#生产
spring:
profiles: pro
server:
port: 81

#测试
spring:
profiles: test
server:
port: 82

注意;在上面配置中给不同配置起名字的 spring.profiles 配置项已经过时。最新用来起名字的配置项是

#开发
spring:
config:
activate:
on-profile: dev
1.2 properties文件
properties 类型的配置文件配置多环境需要定义不同的配置文件

application-dev.properties 文件是开发环境的配置文件。我们在该文件中配置端口号为 80

server.port=80
application-test.properties 文件是测试环境的配置文件。我们在该文件中配置端口号为 81

server.port=81
application-pro.properties 文件是生产环境的配置文件。我们在该文件中配置端口号为 82

server.port=82
SpringBoot 只会默认加载名为 application.properties 的配置文件;所以需要在 application.properties 配置文件中设置启用哪个配置文件;配置如下:

spring.profiles.active=pro
1.3 命令行启动参数设置
使用 SpringBoot 开发的程序以后都是打成 jar 包;通过 java -jar xxx.jar 的方式启动服务的。那么就存在一个问题;如何切换环境呢?因为配置文件打到的jar包中了。

我们知道 jar 包其实就是一个压缩包;可以解压缩;然后修改配置;最后再打成jar包就可以了。这种方式显然有点麻烦;而 SpringBoot 提供了在运行 jar 时设置开启指定的环境的方式;如下

java –jar xxx.jar –-spring.profiles.active=test
那么这种方式能不能临时修改端口号呢?也是可以的;可以通过如下方式

java –jar xxx.jar –-server.port=88
当然也可以同时设置多个配置;比如即指定启用哪个环境配置;又临时指定端口;如下

java –jar springboot.jar –-server.port=88 –-spring.profiles.active=test
大家进行测试后就会发现命令行设置的端口号优先级高;也就是使用的是命令行设置的端口号;;配置的优先级其实 SpringBoot 官网已经进行了说明;参见 :

https://docs.spring.io/spring-boot/docs/current/reference/html/spring-boot-features.html#boot-features-external-config
进入上面网站后会看到如下页面

如果使用了多种方式配合同一个配置项;优先级高的生效。

二、配置文件分类
有这样的场景;我们开发完毕后需要测试人员进行测试;由于测试环境和开发环境的很多配置都不相同;所以测试人员在运行我们的工程时需要临时修改很多配置;如下

java –jar springboot.jar –-spring.profiles.active=test --server.port=85 --server.servlet.context-path=/heima --server.tomcat.connection-timeout=-1 …… …… …… …… ……
针对这种情况;SpringBoot 定义了配置文件不同的放置的位置;而放在不同位置的优先级时不同的。

SpringBoot 中4级配置文件放置位置;

1级;resources/application.yml

2级;resources/config/application.yml

3级;target/application.yml

4级;target/config/application.yml

说明;级别越高优先级越高

3级与4级留作系统打包后设置通用属性

1级与2级用于系统开发阶段设置通用属性

2.1 代码演示
2.1.1 环境准备
创建一个名为 springboot_06_config_file 的 SpringBoot 工程;;参考Java开发学习(三十五)----SpringBoot快速入门及起步依赖解析;目录结构如下
SpringBoot

在 resources 下创建一个名为 config 的目录;在该目录中创建 application.yml 配置文件;而在该配置文件中将端口号设置为 81;内容如下

server:
port: 81
而在 resources 下创建的 application.yml 配置文件中并将端口号设置为 80;内容如下

server:
port: 80
2.1.2 验证1级和2级的优先级
运行启动引导类;可以在控制台看到如下日志信息

SpringBoot

通过这个结果可以得出类路径下的 config 下的配置文件优先于类路径下的配置文件。

2.1.3 验证2级和4级的优先级
要验证4级;按照以下步骤完成

将工程打成 jar 包

点击工程的 package 来打 jar 包

SpringBoot

在硬盘上找到 jar 包所在位置
SpringBoot

在 jar 包所在位置创建 config 文件夹;在该文件夹下创建 application.yml 配置文件;而在该配合文件中将端口号设置为 82

在命令行使用以下命令运行程序

java -jar springboot_06_config_file-0.0.1-SNAPSHOT.jar
运行后日志信息如下
SpringBoot

通过这个结果可以得出file; config 下的配置文件优先于类路径下的配置文件。

注意;

SpringBoot 2.5.0版本存在一个bug;我们在使用这个版本时;需要在 jar 所在位置的 config 目录下创建一个任意名称的文件夹

相关文章

网友评论

快盘下载暂未开通留言功能。

关于我们| 广告联络| 联系我们| 网站帮助| 免责声明| 软件发布

Copyright 2019-2029 【快快下载吧】 版权所有 快快下载吧 | 豫ICP备10006759号公安备案:41010502004165

声明: 快快下载吧上的所有软件和资料来源于互联网,仅供学习和研究使用,请测试后自行销毁,如有侵犯你版权的,请来信指出,本站将立即改正。