SpringBoot实现多环境配置

1.为什么需要配置多环境配置

在实际的开发中,我们往往需要在不同的环境中使用不同的数据库、缓存配置,如果使用同一套配置文件,在不同环境部署的时候手动去修改配置文件,会使部署变得很繁琐。使用多环境配置文件可以很方便的实现此功能。

1.创建不同环境的配置文件

在resource文件夹中添加一下配置文件:

application-dev.properties //开发环境配置文件
application-rc.properties //线上环境配置文件
application-test.properties //测试环境配置文件

2. 选择使用的配置文件

在resource/application.properties配置文件中添加一下配置项目:

spring.profiles.active=dev

此配置用于选择使用的配置环境,值为application-{profile}.properties中的profile值。

3.使用命令行选择使用的配置文件

SpringBoot还支持通过命令行的方式修改配置,使用方式如下:

java -jar xxx.jar --spring.profiles.active=dev

其中--spring.profiles.active=dev相当于在application.properties文件中加入了此配置。

4.测试多环境配置

我们分别在

application-dev.properties //开发环境配置文件
application-rc.properties //线上环境配置文件
application-test.properties //测试环境配置文件

文件中添加以下配置:

#端口号
server.port=8081
server.port=8082
server.port=8083

依次修改application.properties文件中的以下配置:

spring.profiles.active=dev、test、rc

修改后依次重启服务。
当使用dev的时候控制台输出一下内容:

    2018-04-10 20:29:23.841  INFO 11492 --- [           main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/error],produces=[text/html]}" onto public org.springframework.web.servlet.ModelAndView org.springframework.boot.autoconfigure.web.servlet.error.BasicErrorController.errorHtml(javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse)
2018-04-10 20:29:23.871  INFO 11492 --- [           main] o.s.w.s.handler.SimpleUrlHandlerMapping  : Mapped URL path [/webjars/**] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
2018-04-10 20:29:23.871  INFO 11492 --- [           main] o.s.w.s.handler.SimpleUrlHandlerMapping  : Mapped URL path [/**] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
2018-04-10 20:29:23.961  INFO 11492 --- [           main] o.s.j.e.a.AnnotationMBeanExporter        : Registering beans for JMX exposure on startup
2018-04-10 20:29:24.011  INFO 11492 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat started on port(s): 8081 (http) with context path '/demo'
2018-04-10 20:29:24.011  INFO 11492 --- [           main] com.example.demo.DemoApplication         : Started DemoApplication in 2.271 seconds (JVM running for 2.608)

使用test的时候控制台输出一下内容:

2018-04-10 20:30:17.458  INFO 12824 --- [           main] o.s.j.e.a.AnnotationMBeanExporter        : Registering beans for JMX exposure on startup
2018-04-10 20:30:17.498  INFO 12824 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat started on port(s): 8083 (http) with context path '/demo'
2018-04-10 20:30:17.508  INFO 12824 --- [           main] com.example.demo.DemoApplication         : Started DemoApplication in 2.268 seconds (JVM running for 2.609)

使用rc的时候输出以下内容:

2018-04-10 20:31:14.302  INFO 11972 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat started on port(s): 8083 (http) with context path '/demo'
2018-04-10 20:31:14.312  INFO 11972 --- [           main] com.example.demo.DemoApplication         : Started DemoApplication in 2.133 seconds (JVM running for 2.488)

可以看出在服务启动的时候分别用了不同的配置文件。

原文地址:https://www.cnblogs.com/vitasyuan/p/8782612.html

时间: 2024-11-05 00:41:57

SpringBoot实现多环境配置的相关文章

Springboot的多环境配置

通常应用都会被安装到几个不同的环境(比如开发.测试.生产等),每个环境都会有一些参数是不一样的. Spring Boot对此也提供了支持,配置文件的名称只要满足application-{profile}.yaml格式即可,其中{profile}对应环境的标识: application-dev.yaml: 开发环境 application-test.yaml: 测试环境 application-prod.yaml: 生产环境 之后,需要在application.yaml中设置配置属性spring.

SpringBoot在启动时的多环境配置以及加载顺序

通常我们在开发完成一个SpringBoot项目时,总是要打包部署的. 在启动SpringBoot应用时,我们常常会使用命令java -jar xxx.jar来启动这个服务. 命令java -jar 除了启动应用之外,还可以在命令中指定应用的参数,比如一下带参数的命令: (1)java -jar xxx.jar --server.port=8081,直接以命令的方式来设置服务的访问端口server.port属性,将端口设置为8081; (2)java -jar -Xms1024m -Xmx1024

SpringBoot 多环境配置

在我们的实际开发中,一般都有三套环境,开发环境,测试环境,生产环境,三套环境的数据库连接配置也有所不同,比如,端口,IP地址等等.如果在打包时候都频繁的修改配置文件信息,那必将是非常容易出错的地方. 在springBoot多环境配置文件名需要满足application-{profile}.properties的格式,其中{profile}对应你的环境标识,例如: (1)application-dev.properties 对应开发环境  (2)application-test.propertie

springboot多环境配置

springboot多环境(dev.test.prod)配置 2017-07-17 10:33 1290人阅读 评论(0) 收藏 举报  分类: spring boot(6)  版权声明:本文为博主原创文章,未经博主允许不得转载. 目录(?)[+] propertiest配置格式 在Spring Boot中多环境配置文件名需要满足application-{profile}.properties的格式,其中{profile}对应你的环境标识,比如: application-dev.properti

springboot 多环境配置yml

https://www.cnblogs.com/mr-yang-localhost/p/8971327.html   springboot 多环境配置 https://blog.csdn.net/liuchuanhong1/article/details/54694458 spring boot中多环境配置支持 https://blog.csdn.net/davis2015csdn/article/details/75220046 springboot多环境(dev.test.prod)配置 h

springboot学习入门简易版八---springboot2.0多环境配置、整合mybatis mysql8+(19-20)

2.11 SpringBoot多环境配置(19)  application.properties中配置 Spring.profiles.active=prd 配置环境: Application-dev.properties 开发环境 Application-test.properties 测试环境 Application-uat.properties 用户测试环境 Application-prd.properties 生产环境 2.12 SpringBoot整合mybatis(20) 注意:使用

3.1.补充:SpringBoot属性赋值,JSR303校验,多环境配置以及配置文件位置

一.YMAL的占位符,松散绑定,实体类装载配置文件信息用于属性赋值 占位符: ${random.int} 松散绑定:Dog.java中的属性名为dogName,YMAL中对应的为dog-name 实体类装载配置文件信息: @ConfigurationProperties(prefix = "dog") 会将配置文件中的dog-name和age赋值给实体类的dogName和age person: name: qinjiang age: ${random.int} #使用占位符设置值 ha

springBoot(3):配置文件-多环境配置

一.多环境配置的好处 1.不同环境配置可以配置不同的参数 2.便于部署,提高效率,减少出错 二.Properties多环境配置 1. 配置激活选项 spring.profiles.active=dev 说明:这里激活的是开发环境. 2.添加其他配置文件 如: 开发环境:application-dev.properties 测试环境:application-test.properties 生产环境:application-prod.properties 公共环境:application.prope

springboot 入门二- 读取配置信息一

在上篇入门中简单介绍下springboot启动使用了大量的默认配置,在实际开发过程中,经常需要启动多个服务,那端口如何手动修改呢? 此篇就是简单介绍相关的配置文件信息. Spring Boot允许外部化你的配置,这样你就可以在不同的环境中使用相同的应用程序代码.你可以使用属性文件.YAML文件.环境变量和命令行参数来外部化配置.属性的值获取可以通过注解@Value . spring Environment或注解@ConfigurationProperties 这些方式优先级如下: @TestPr