java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > SpringBoot配置文件的拆分

SpringBoot配置文件的拆分过程

作者:萌宅鹿同学

本文主要介绍了如何在Spring Boot中进行配置文件拆分,包括生产环境和测试环境的配置分离,以及如何激活指定的profile,此外,还讨论了配置文件的加载位置和互补配置的方式

在实际开发过程中 生产环境测试环境 有可能是不一样的,因此将生产中的配置和测试中的配置拆分开,是非常必要的;在 springboot 中也提供了配置文件拆分的方式。

这里以生产中项名名称不一致为例,假设:

application.yml

# 用来书写生产和测试相同的的配置
spring:
  profiles:
    active: dev
server:
  port: 8080 #生产和测试为同一个端口
server:
  servlet:
	context-path: /cmfz
server:
  servlet:
	context-path: /springboot

yml 多文档块方式

server:
  port: 8081
spring:
  profiles:
    active: prod

---
server:
  port: 8083
spring:
  profiles: dev

---
server:
  port: 8084
spring:
  profiles: prod  #指定属于哪个环境

application.properties

# 延迟加载
spring.main.lazy-initialization=true
# 使用测试环境配置
spring.profiles.active=dev
server.servlet.context-path=/springboot
server.port=8989
server.servlet.context-path=/cmfz
server.port=8080

激活指定 profile(3种方法)

1、在配置文件中指定 spring.profiles.active=dev

2、命令行:运行 jar 包时后面写上:--spring.profiles.active=dev

java -jar hello_springboot-0.0.1-SNAPSHOT.jar --spring.profiles.active=dev;

可以直接在测试的时候,配置传入命令行参数:

​3、虚拟机参数;

-Dspring.profiles.active=dev

配置文件的加载位置

springboot 启动会扫描以下几个位置的 配置文件:

优先级由高到底,高优先级的配置会覆盖低优先级的配置;

SpringBoot 会从这四个位置全部加载主配置文件;互补配置

我们还可以通过 spring.config.location 来改变默认的配置文件位置; 

项目打包好以后,我们可以使用命令行参数的形式,启动项目的时候来指定配置文件的新位置; 

指定配置文件和默认加载的这些配置文件共同起作用形成互补配置;

java -jar hello_springboot-0.0.1-SNAPSHOT.jar --spring.config.location=D:/application.properties

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文