springboot多环境(dev、test、pro)配置

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sinat_36710456/article/details/83827829

propertiest配置格式:
在Spring Boot中多环境配置文件名需要满足application-{profile}.properties的格式,其中{profile}对应你的环境标识,比如:
     application-dev.properties:开发环境
     application-test.properties:测试环境
     application-pro.properties:生产环境

至于哪个具体的配置文件会被加载,需要在application.properties文件中通过spring.profiles.active属性来设置,其值对应{profile}值。 
 

application.yml

# application.yml
spring:
  profiles:
    active: dev

application-dev.yml

# application-dev.yml
variable:
   profiles : dev

application-pro.yml

# application-pro.yml
variable:
   profiles : pro

 application-test.yml

# application-test.yml
variable:
   profiles : test


如:spring.profiles.active=dev就会加载application-dev.properties配置文件内容 
 
下面,以不同环境配置不同的服务端口为例,进行样例实验。 
针对各环境新建不同的配置文件application-dev.properties、application-test.properties、application-pro.properties 
在这三个文件均都设置不同的server.port属性,如:dev环境设置为8001,test环境设置为8002,prod环境设置为8003 
application.properties中设置spring.profiles.active=dev,就是说默认以dev环境设置

SpringBoot内嵌容器的部署方式:

SpringBoot内部默认提供内嵌的tomcat容器,所以可以直接打成jar包,丢到服务器上的任何一个目录,然后在当前目录下执行以下命令即可运行。

java -jar demo.jar

说明:若这种方式的运行退出进程就结束了;如果想在后台可以运行,则需要执行 java -jar demo.jar > log_demo.file 2>&1 & 即可在后台运行该服务了,log_demo.file是日志文件。如需停止该进程 执行ps -ef|grep java 找到对应的进程 kill 进程ID 即可。

java -jar demo.jar > log_demo.file 2>&1 &

测试不同配置的加载
     执行  java -jar xxx.jar  可以观察到服务端口被设置为8001,也就是默认的开发环境(dev)
     执行  java -jar xxx.jar --spring.profiles.active=test  可以观察到服务端口被设置为8002,也就是测试环境的配置(test)
     执行  java -jar xxx.jar --spring.profiles.active=pro  可以观察到服务端口被设置为8003,也就是生产环境的配置(pro)

猜你喜欢

转载自blog.csdn.net/sinat_36710456/article/details/83827829