SpringBoot多环境配置与使用

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

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

对于多环境的配置,各种项目构建工具或是架构的基本思路是一样的,通过配置多份不同的环境配置文件,在通过打包命令指定需要打包的内容之后进行区分打包,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配置文件内容

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值