基于properties文件的Spring Boot多环境切换

当咱们使用properties文件做为Spring Boot的配置文件而不是yaml文件时,怎样实现多环境使用不一样的配置信息呢?
    在Spring Boot中,多环境配置的文件名须要知足application-{profile}.properties的格式,其中{profile}对应你的环境标识,以下所示:
  • application-dev.properties:开发环境;
  • application-test.properties:测试环境;
  • application-prod.properties:生产环境;
 
    至于哪一个具体的配置文件会被加载,须要在application.properties文件中经过spring.profiles.active属性来设置,而该属性能够写在配置文件中,也能够经过启动时命令来设置。
    如application.properties中的spring.profiles.active=test,那么就会加载application-test.properties中的配置的属性。
 
  • 假设有针对不一样环境的三个配置文件:application-dev.properties,application-test.properties,application-prod.properties。
  • 这三个文件中设置不一样的server.port属性,dev环境为1111,test环境为2222,prod为3333。
  • application.properties中设置spring.profiles.active=dev,意为默认以dev环境的配置文件为准。
  • 当咱们执行java -jar XXX.jar时,能够测试到服务器端口为1111,也就是dev配置文件中设置的。
  • 当咱们执行java -jar XXX.jar --spring.profiles.active=test,能够测试到端口被设置为2222,也就是test配置文件中设置的。
  • 同理,当咱们执行jar -jar XXX.jar --spring.profiles.active=prod,能够观察到服务端口被设置为3333,也就是生产环境的配置。
 
 
总结多环境的配置思路:
  1. 在application.properties中配置通用内容,使用spring.profiles.active=dev,指定默认的配置。
  2. 在application-{profile}.properties中配置各个环境不一样的内容。
  3. 经过命令行方式去激活不一样的环境配置。
相关文章
相关标签/搜索