springboot之多环境配置--dev、test、prod
application-dev.properties:开发环境A
application-test.properties:测试环境B
application-prod.properties:生产环境 C
项目内使用:在你的名字为application的文件的中写上:spring.profiles.active=dev(因为你的application是你的springboot默认的主配置文件,所以只能遵从了,当然你有想法可以去改改,跑题了不说了)
格式为:application-{profile}.properties,这句话也解释了为什么调用时候只写我们的命名-后面的内容
拓展:
在linux中jar包执行java -jar xxx.jar –spring.profiles.active=A/B/C,因为经常忘记全部的写法就在这里写一下
————————————————
版权声明:本文为****博主「YOUR_HERO_」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.****.net/majipeng19950610/article/details/81702647
springboot的多环节配置
我们在开发应用的时候,通常同一套程序会被应用和安装到几个不同的环境中,比如开发、测试、生产等。
其中每个环境的数据库地址、服务器端口等配置都不同。如果在为不同环境打包时都要频繁的修改配置文件,那必将是个非常繁琐的且容易出错的事情。
对于多环境的配置,各种项目构建工具或是架构的基本思路是一样的,通过配置多份不同的环境配置文件,在通过打包命令指定需要打包的内容之后
进行区分打包,spring boot也不列外。或者说实现起来更加简单。
在springboot中,多环境配置的文件名需要满足 application-{profile}.properties/yml的格式,其中{profile}对应环境表示,
如下所示:
application-dev.yml :开发环境
application-test.yml :测试环境
application-prod.yml :生产环境
至于具体哪个配置文件会被加载,需要在application.yml文件中通过spring.profile.active 属性来设置,其值对应配置文件中的{profile}值
如spring.profile.active = test就会加载application-test.yml配置文件内容。
以下,以不同环境配置不同的服务端口为例,进行实验:
创建springboot项目,在resource下面添加三个配置文件,application-dev.yml 、application-test.yml、application-prod.yml
三个文件的端口号和注册的eureka中的服务名称都不同
application-dev.yml server.port =7001 spring: application: name: springcloud-consumer-dev
application-test.yml server.port =7001 spring: application: name: springcloud-consumer-dev
application-prod.yml server.port =7001 spring: application: name: springcloud-consumer-dev
在application.yml中设置属性 spring: profiles: active: test 加载的是application-test.yml文件。
访问eureka-server可以看到端口号和应用名称为test文件中的配置 以开发环境为默认配置 application-dev.yml