Spring Boot之Profile--快速搞定多环境使用与切…

2019-08-16 12:40:11来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

Spring Boot之Profile--快速搞定多环境使用与切换

Spring Profile是Spring3引入的概念,主要用在项目多环境运行的情况下,通过激活方式实现多环境切换,省去多环境切换时配置参数和文件的修改,并且Spring profile提供了多种激活方法,例如配置文件,命令行,jvm参数设置等,下面将详细介绍下。

本文目录

一、为什么要使用Profile二、Spring Profile激活方式1、配置文件激活2、命令行3、虚拟机参数4、在Java代码中激活

一、为什么要使用Profile

在平时在开发时,经常会出现在开发的时候使用一个开发数据库,测试的时候使用一个测试的数据库,而实际部署的时候需要一个数据库。以前的做法是将这些信息写在一个配置文件中,当我把代码部署到测试的环境中,将配置文件改成测试环境;当测试完成,项目需要部署到现网了,又要将配置信息改成现网的,既麻烦又容易出现问题。

而使用了Profile之后,我们就可以分别定义3个配置文件,一个用于开发、一个用户测试、一个用户生产,其分别对应于3个Profile。当在实际运行的时候,只需给定一个参数来激活对应的Profile即可,那么容器就会只加载激活后的配置文件,这样就可以大大省去我们修改配置信息而带来的烦恼。

二、Spring Profile激活方式

针对上面的问题,我们可以采用如下的方案来解决:

在代码中新增多个配置文件,文件名可以是
application-{profile}.properties,然后在applcation.properties文件中配置激活profile。

例如我们的应用环境有:dev、uat、prod

那么,我们可以添加 4 个配置文件:

applcation.properties - 公共配置
application-dev.properties - 开发环境配置
application-uat.properties - 测试环境配置
application-prod.properties - 生产环境配置

下面介绍下激活profile的方式:

1、配置文件激活

在applcation.properties文件 中可以通过以下配置来激活 profile:

# 激活dev环境的配置
spring.profiles.active = dev

spring.profiles.active = dev 表示当前环境激活application-dev.properties文件中的配置。

2、命令行

在 运行java -jar 时候激活:

java -jar spring-boot-demo.jar --spring.profiles.active=dev

3、虚拟机参数

配置虚拟机参数激活:

-Dspring.profiles.active=dev


 

4、在Java代码中激活

在spring boot启动类添加如下代码即可:

System.setProperty("spring.profiles.active", "test");

Spring Boot之Profile多环境使用与切换的东西介绍完成啦,有任何问题欢迎留言沟通哦

推荐阅读

1.Spring Boot 2.X 整合Redis
2.Spring Boot 2.X 如何优雅的解决跨域问题?
3.Spring Boot 2.X 集成spring session实现session共享
4.Spring条件注解@Conditional
5.SpringBoot 2.X从0到1实现邮件发送功能
6.Redis批量删除key的小技巧,你知道吗?
7.Spring Boot 2.X 如何快速整合jpa?


限时领取免费Java相关资料,涵盖了Java、Redis、MongoDB、MySQL、Zookeeper、Spring Cloud、Dubbo/Kafka、Hadoop、Hbase、Flink等高并发分布式、大数据、机器学习等技术。
关注下方公众号即可免费领取:

Java碎碎念公众号

 


原文链接:https://www.cnblogs.com/haha12/p/11363341.html
如有疑问请与原作者联系

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:java学习笔记(中级篇)—JDK动态代理

下一篇:Springboot 2启动内置Tomcat源码分析