我们在开发应用的时候,通常同一套程序会被应用和安装到几个不同的环境中,比如开发、测试、生产等。

其中每个环境的数据库地址、服务器端口等配置都不同。如果在为不同环境打包时都要频繁的修改配置文件,那必将是个非常繁琐的且容易出错的事情。

对于多环境的配置,各种项目构建工具或是架构的基本思路是一样的,通过配置多份不同的环境配置文件,在通过打包命令指定需要打包的内容之后进行区分打包,spring boot也不列外。或者说实现起来更加简单。

在SpringBoot中,我们可以写多个配置文件,每个文件有不同的环境,当我们需要切换时,去选择对应环境的配置文件就可以了。

我们可以分成两步来实现

1.自定义配置文件

比如,定义一个开发环境,一个测试环境,一个线上环境,这里以开发环境为例:自定义的文件名为:application-dev.properties,里面配置了如访问的端口,mysql数据库,redis数据库,sqlserver等环境; 配置文件在resource文件夹下面,当然,我们也可以在resource下面建一个文件夹来存放配置文件。

# poty
server.port=8088
# mysql
spring.datasource.url=jdbc:mysql://10.1.2.40:3306/test1
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
# sqlserver
spring.datasource.url=jdbc:sqlserver://localhost:1433;databaseName=LibraryManager
spring.datasource.username=sa
spring.datasource.password=1
spring.datasource.driver-class-name=com.microsoft.sqlserver.jdbc.SQLServerDriver
# mybatis
mybatis.typeAliasesPackage=com.example.demo.domain
mybatis.mapperLocations=classpath:mapper/*.xml

如果是测试环境,我们可以再定义一个文件名为:application-test.properties,里面配置测试环境。

2.选择配置文件

我们定义了多个环境,那么如何选择使用哪个环境呢?这个需要在application.properties里,用spring.profiles.active=xxx来做设置:

# choose environment eg: choose dev,means use application-dev.properties
spring.profiles.active=dev

这样环境就切换到了application-dev.properties里定义的环境了。

多环境配置总结

在Spring Boot中多环境配置文件名需要满足application-{profile}.properties的格式
其中{profile}对应你的环境标识,比如:

application-dev.properties:开发环境
application-test.properties:测试环境
application-prod.properties:生产环境

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

如:spring.profiles.active=test就会加载application-test.properties配置文件内容

SpringBoot多环境配置与使用相关推荐

  1. springboot多环境配置_编辑 SpringBoot|第五章:多环境配置

    多环境配置 在开发应用时,常用部署的应用是多个的,比如:开发.测试.联调.生产等不同的应用环境,这些应用环境都对应不同的配置项,比如swagger一般上在生产时是关闭的:不同环境数据库地址.端口号等都 ...

  2. springboot 多环境配置,请您过目

    多环境配置 在日常开发中,我们项目会有多个环境.例如开发环境(develop)也就是我们研发过程中疯狂敲代码修BUG阶段,生产环境(production )项目开发得差不多了,可以放在服务器上跑了.不 ...

  3. springboot多环境配置学习笔记

    为啥需要多环境配置 因为在开发过程中,需要涉及到多个环境,比如在一个配置文件配置了两段数据源的配置文件(一段配置用于测试,一段配置用于开发),那么在测试的时候,我可能需要将开发的这段配置注掉,在开发的 ...

  4. SpringBoot 多环境配置

    多个配置文件指定了不同的发布环境, application-dev.yml 的配置文件是开发用 application-test.yml 的配置文件是测试用 application-pre.yml 的 ...

  5. [spring-boot] 多环境配置

    application-{profile}.properties 按照格式创建两个配置文件,一个DEV环境,一个测试环境 修改其端口: server.port=8888 DEV server.port ...

  6. springboot多环境配置--bunny0728

    1.有多个配置文件,选择一个 2.启动带上配置文件 java -jar xxx.jar --spring.profiles.active=dev 3.application.yml和applicati ...

  7. springboot 不同环境不同的配置

    前言 我们在开发Spring Boot应用时,通常同一套程序会被应用和安装到几个不同的环境,比如:开发.测试.生产等.其中每个环境的数据库地址.服务器端口等等配置都会不同,如果在为不同环境打包时都要频 ...

  8. springboot 常用配置之多环境配置(开发环境、测试环境、生产环境等)

    在上一课中我们通过idea工具没有做任何配置就构建了一个springboot项目,并且已经成功启动了,但我们都很清楚这些都远远不能达到我们实际项目的需求,比如我们要引入我们自己的redis配置.mys ...

  9. springboot项目识别不了pom.xml文件_Spring Boot Web 项目教程,Spring Boot的环境配置

    这节课,我们来学习一下SpringBoot的环境配置,在SpringBoot中,所有的配置都写在application.properties中: 我们启动项目,默认端口是8080,我们现在给他配置一个 ...

最新文章

  1. Serverless 工程实践|自建 Apache OpenWhisk 平台
  2. linux版本查看命令多少位,查看linux系统版本命令32位还是64位
  3. 智能语音市场有多大? 阿里巴巴将如何破局后来者居上?
  4. Spark:聚类算法
  5. Allegro 制作 package
  6. Aho-Corasick 算法
  7. android字体文件制作教程,Android使用自定义字体
  8. 春天不远:熬过寒冬,步入冰川时代,静待下一个新纪元!
  9. 【练习】canvas——flappyBird
  10. 高压柜无线测温装置-无线无源温度传感器-安科瑞 顾月
  11. C#实现图书管理系统(课程设计)——第五步、查询界面及操作
  12. IPinfo上架uTools插件中心
  13. 纯CSS3实现的蓝天白云效果
  14. 网站还在,赶紧拿起Python采集所有壁纸
  15. 英语不好可以学mysql吗_请你不要坚持自学一直很烂的英语了,好吗?
  16. 【pytorch】tnn
  17. 常用算法——解析算法
  18. PHP主要是写什么 php文件怎么打开
  19. 开关电源LLC基本原理
  20. 【visio整理1---开发Microsoft Visio解决方案】

热门文章

  1. 11g java 驱动_Oracle 11g Java驱动包ojdbc6.jar安装到maven库,并查看jar具体版本号
  2. 指定的参数已超出有效值的范围_整流二极管的特性和重要参数
  3. oracle 数据抽取 java_oracle数据抽取步骤
  4. IE11浏览器一个窗口打开多个页面设置方法
  5. Spring Boot jackson配置使用详解
  6. MyBatis JdbcType介绍
  7. Windows之node.js安装
  8. java控制层创建websocket_用Java构建一个简单的WebSocket聊天室
  9. mysql data transfer_MySQL主从同步加速 Transfer-- FAQ
  10. es6 依赖循环_require 和 import 的循环依赖详解