1.springboot多环境配置方法
SpringBoot的默认配置文件是application.yml
。
配置多个环境只需要将默认配置文件复制几份,然后将文件名按照application-环境名.yml
改为相应的名称,比如:
- 测试环境:
application-dev.yml
- 生成环境:
application-prod.yml
我们可以将多个环境相同的配置写在application.yml
默认配置文件中,然后不同环境的配置写在各自的文件中
编辑好配置文件之后,我们需要在默认的配置文件中声明让哪种环境生效
#激活指定配置文件
spring:
profiles:
active: prod
注意这里的名称只需要填写application-环境名.yml
配置文件的环境名
部分即可。
实操:
1.在创建的项目下,依次创建默认,生产,开发环境下的配置文件,如下图
application-dev.yml 开发环境配置
server:
port: 9002
spring:
datasource:
name: sm_mall
url: jdbc:mysql://localhost:3306/sm_mall?useUnicode=true&serverTimezone=Asia/Shanghai&characterEncoding=utf8&autoReconnect=true&useSSL=false&allowMultiQueries=true
username: root
password: root
driverClassName: com.mysql.cj.jdbc.Driver
application-pro.yml 生产环境配置
server:
port: 9003
spring:
datasource:
name: sm_mall
url: jdbc:mysql://XXXXXX:3306/sm_mall?useUnicode=true&serverTimezone=Asia/Shanghai&characterEncoding=utf8&autoReconnect=true&useSSL=false&allowMultiQueries=true
username: root
password: root
driverClassName: com.mysql.cj.jdbc.Driver
application.yml
server:
port: 8081
spring:
profiles:
active: dev
此时默认dev开发环境生效,会覆默认配置中的属性值,没有则还使用默认配置中的环境变量。
2.但当我们用meaven打包后的项目jar文件时,想要改变配置时
使用如下语句:–spring.profiles.active =
java -jar --spring.profiles.active=dev xxx-xxx-0.0.1-SNAPSHOT.jar
3.当我们重新在外部创建一个配置文件时,也可以修改配置文件
使用如下语句:–spring.config.location = 外部配置文件路径
application_sm.yml
server:
port: 8082
启动时使用如下语句:
java -jar xxx-xxx-0.0.1-SNAPSHOT.jar --spring.config.location=/.../.../Desktop/application_sm.yml
4.但工作时发现,一般使用.bat文件自动启动
如下为工作期间项目启动文件夹
注:1.application_yb.yml为外部配置文件(当我们项目部署服务器地址不一定时,需要在外部文件中书写具体部署服务器地址)
2.yb.jar为项目启动文件
3.startup.bat正是项目启动脚本
startup.bat文件内容如下:
java -jar yb.jar --spring.config.location=application_yb.yml
#因为application.yml为yb.jar文件同级目录,所以路径直接写相对路径即可