教你在SpringBoot中管理多环境配置文件

 更新时间:2021年05月12日 17:14:39   作者:Zepal  
在项目开发中,一般会分为开发环境,测试环境和生产环境.如果总是在一个文件中修修改改,难免会出现错误,尤其是在交接的过程中,一旦出现问题,轻则丢失绩效,重则需要删库跑路.本文则带大家详细了解怎么管理多环境配置文件,需要的朋友可以参考下

实现

1、可以通过配置项 spring.profiles.active 的值来激活对应的环境(思路:使用一个默认的文件作为通用配置文件,不同的配置项写入不同环境的配置文件中,部署不同环境时,只需要修改spring.profiles.active的值即可。个人习惯在通用配置文件只保留spring.profiles.active一个配置项,灵活性高一点)

2、通过部署命令java -jar xxx.jar --spring.profiles=xxx 来激活指定的配置项

针对不同的环境,一般常用的命名方式如下:

application.properties  :   通用配置,不区分环境

application-dev.properties  :  开发环境

application-test.properties  :  测试环境

application-prod.properties   : 生产环境

测试

新增配置文件:application.properties

spring.profiles.active=dev

新增配置文件:application-dev.properties

server.port=9999
# 自定义配置项
zepal=dev

新增配置文件:application-prod.properties

server.port=9998
# 自定义配置项
zepal=prod

创建一个接口

@Controller
public class TestController2 {
 
	@Value("${zepal}")
	private String zepal;
	
	@RequestMapping("/profiles-test")
	@ResponseBody
	public String methodA() {
		return zepal;
	}
	
}

1、通过配置项 spring.profiles.active 激活对应配置文件,启动文件后访问localhost:9998/profiles-test  会超时,访问localhost:9999/profiles-test 会成功

2、将项目打包成jar包后,用启动命令java -jar xxx.jar --spring.profiles=dev  会得到同样的结果

到此这篇关于教你在SpringBoot中管理多环境配置文件的文章就介绍到这了,更多相关SpringBoot管理多环境配置文件内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • springboot整合kaptcha验证码的示例代码

    springboot整合kaptcha验证码的示例代码

    kaptcha是一个很有用的验证码生成工具,本篇文章主要介绍了springboot整合kaptcha验证码的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-06-06
  • IDEA报错之前言中不允许有内容问题及解决

    IDEA报错之前言中不允许有内容问题及解决

    当使用IntelliJ IDEA时,可能会遇到报错信息“前言中不允许有内容”,这通常是由于XML文件是以带有BOM头的UTF-8格式保存的,导致IDE的解析出错,解决办法是在IDEA中调整文件编码设置为无BOM的UTF-8,然后用文本编辑器(如Notepad++)
    2024-10-10
  • SpringBoot项目的logback日志配置(包括打印mybatis的sql语句)

    SpringBoot项目的logback日志配置(包括打印mybatis的sql语句)

    这篇文章主要介绍了SpringBoot项目的logback日志配置(包括打印mybatis的sql语句),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-09-09
  • Java通过匿名类来实现回调函数实例总结

    Java通过匿名类来实现回调函数实例总结

    这篇文章主要介绍了Java通过匿名类来实现回调函数的例子,回调函数就是一种函数签名(若干个输入参数、一个输出参数)的规范,java虽不存在函数声明,但是java可以用接口来强制规范。具体操作步骤大家可查看下文的详细讲解,感兴趣的小伙伴们可以参考一下。
    2017-08-08
  • VS Code中运行Java SpringBoot的项目详细步骤

    VS Code中运行Java SpringBoot的项目详细步骤

    这篇文章主要介绍了VS Code中运行Java SpringBoot项目的相关资料,文中涵盖了安装必要的扩展、配置环境、创建或导入项目、配置调试环境、运行和调试项目、使用Spring Boot Actuator以及配置任务自动化等步骤,需要的朋友可以参考下
    2024-12-12
  • 关于ArrayList初始创建设定长度问题

    关于ArrayList初始创建设定长度问题

    在使用ArrayList时,初始化长度并不等同于直接设定数组大小,如通过构造函数指定长度,仅仅是在内部开辟了相应的存储空间,并不会改变ArrayList的实际元素个数,即size属性仍然为0,因此,尝试直接访问未实际添加元素的位置会引发异常
    2024-11-11
  • Java如何确定两个区间范围是否有交集

    Java如何确定两个区间范围是否有交集

    这篇文章主要介绍了Java如何确定两个区间范围是否有交集问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-12-12
  • SpringBoot定制JSON响应数据返回的示例代码

    SpringBoot定制JSON响应数据返回的示例代码

    @JsonView 是 Jackson 库中的一个注解,它允许你定义哪些属性应该被序列化到 JSON 中,基于不同的“视图”或“配置”,在本文中,通过了解@JsonView,你将能够更好地掌握如何在Spring Boot应用中定制JSON数据的输出,需要的朋友可以参考下
    2024-05-05
  • 详解基于java的Socket聊天程序——服务端(附demo)

    详解基于java的Socket聊天程序——服务端(附demo)

    这篇文章主要介绍了详解基于java的Socket聊天程序——服务端(附demo),具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
    2016-12-12
  • JAVA 中Spring的@Async用法总结

    JAVA 中Spring的@Async用法总结

    这篇文章主要介绍了JAVA 中Spring的@Async用法总结的相关资料,需要的朋友可以参考下
    2017-03-03

最新评论