「快学springboot」SpringBoot多环境配置文件

前言

我们都知道springboot的配置卸载application.properties配置文件上(或者application.yml)。但是,如果想要把不同的环境(如开发环境,测试环境,生产环境)的配置文件分离,这要怎么做呢?其实,SpringBoot是支持指定不同的配置文件的。

SpringBoot配置文件格式

在Spring Boot中多环境配置文件名需要满足application-{profile}.properties的格式,其中{profile}对应你的环境标识(不一定是.properties文件,也可以是.yml文件)。profile的值,是开发者自定义的,只需要在启动的时候,添加对应的参数,springboot就会去读取该配置文件了。比如我们可以定义为如下格式:

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

如果启动的时候,没有指定配置文件,或者指定的配置文件没有对应的项,则会从默认的配置文件中读取。默认配置文件为:application.properties(或者application.yml)

启动指定环境

我们可以通过spring.profiles.active参数来指定环境。

假设现在有两个配置文件:

application.properties

server.port=8080

application-happy.properties

server.port=9090

如果我们不指定环境,直接启动,则会启动在8080端口:

java -jar springboot-0.0.1-SNAPSHOT.jar

启动指定环境的方法

命令行启动指定

可以添加-Dspring.profiles.active=的方式指定

如,指定happy环境:

java -jar "-Dspring.profiles.active=happy" springboot-0.0.1-SNAPSHOT.jar

默认配置文件指定

在application.properties中添加

spring.profiles.active=happy

启动程序:

在IDEA中指定

在run/debug configuration中,可以配置环境,如下:

把application.properties中的环境指定去掉,启动程序:

程序依然启动在了9090端口。

指定的配置文件中没有值,则从默认配置文件中读取

假如我把happy的指定端口号去掉,留下一个空配置。为了防止Tomcat默认端口8080的情况,把默认配置文件的端口改为7777,然后启动程序:

通过日志,可以看到是读取了happy环境。

通过端口号,可以看到其读取了默认配置中的值。

总结

多套配置文件,这在实际开发中是经常用到的。根据不同的环境,配置不同的配置文件,方便开发也方便测试和部署。

原文地址:https://www.cnblogs.com/happy4java/p/11206503.html

时间: 2024-11-11 04:11:02

「快学springboot」SpringBoot多环境配置文件的相关文章

「快学springboot」SpringBoot整合freeMark模板引擎

前言 虽然现在流行前后端分离开发和部署,但是有时候还是需要用到服务端渲染页面的.比如:需要考虑到SEO优化等问题的时候,FreeMark其实还是很有作用的.本人的博客本来是用React开发的,但是后来发现搜索引擎难以收集由JS渲染的页面,所以前段时间,是用jQuery+FreeMark重写了我的博客前端页面.感兴趣的朋友,可以点击下面的查看更多的链接跳转至本人的博客. 在springboot中,不推荐使用JSP(其实任何项目都不推荐使用JSP),而是推荐使用模板引擎,如FreeMark.其实使用

「雕爷学编程」Arduino动手做(12)——霍尔磁力模块

37款传感器和模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的.鉴于本人手头积累了一些传感器与模块,依照实践出真知(动手试试)的理念,以学习和交流为目的,这里准备逐一做做实验,不管能否成功,都会记录下来---小小的进步或是搞不定的问题,希望能够抛砖引玉. [Arduino]66种传感器模块系列(专业资料+实验代码+图形仿真) 实验之十二:数字霍尔磁力传感器模块 霍尔效应所谓霍尔效应,是电磁效应的一种,指磁场作用于载流金属导体.半导体中的载流子时,产生横向电位

「雕爷学编程」Arduino动手做(14)——倾斜角度模块

37款传感器和模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的.鉴于本人手头积累了一些传感器与模块,依照实践出真知(动手试试)的理念,以学习和交流为目的,这里准备逐一做做实验,不管能否成功,都会记录下来---小小的进步或是搞不定的问题,希望能够抛砖引玉. [Arduino]66种传感器模块系列(专业资料+实验代码+图形仿真) 实验之十四:倾斜传感器模块(角度开关) SW-520D滚珠震动开关 铜壳镀金 振动开关 防跌角度开关 尺寸:5MM*12MM(直径*高

「雕爷学编程」Arduino动手做(13)——触摸开关模块

37款传感器和模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的.鉴于本人手头积累了一些传感器与模块,依照实践出真知(动手试试)的理念,以学习和交流为目的,这里准备逐一做做实验,不管能否成功,都会记录下来---小小的进步或是搞不定的问题,希望能够抛砖引玉. [Arduino]66种传感器模块系列(专业资料+实验代码+图形仿真) 实验之十三:数字触摸开关传感器模块 触摸模块 1.工作电压:DC 3-5V 2.主要器件:运放,三极管 3.尺寸:长45mmX宽18m

「雕爷学编程」Arduino动手做(17)---人体感应模块

37款传感器和模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的.鉴于本人手头积累了一些传感器与模块,依照实践出真知(动手试试)的理念,以学习和交流为目的,这里准备逐一做做实验,不管能否成功,都会记录下来---小小的进步或是搞不定的问题,希望能够抛砖引玉. [Arduino]108种传感器模块系列实验(资料+代码+图形+仿真) 实验十七:HC-SR312微型热释电人体感应传感器模块 热释电效应 在某些绝缘物质中,由于温度的变化引起极化状态改变的现象称为热释电效

「雕爷学编程」Arduino动手做(23)——矩形脉冲发生器

37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的.鉴于本人手头积累了一些传感器和模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手试试做实验,不管成功与否,都会记录下来---小小的进步或是搞不定的问题,希望能够抛砖引玉. [Arduino]108种传感器模块系列实验(资料+代码+图形+仿真) 实验二十三:NE555频率可调脉冲发生器模块(方波占空比50%简版) NE555 NE555 (Timer IC)为8脚时基

「雕爷学编程」Arduino动手做(26)——4X4矩阵键盘模块

37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的.鉴于本人手头积累了一些传感器和模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手试试做实验,不管成功与否,都会记录下来---小小的进步或是搞不定的问题,希望能够抛砖引玉. [Arduino]108种传感器模块系列实验(资料+代码+图形+仿真) 实验二十六:4X4矩阵键盘模块(轻触式按键) 矩阵键盘 是单片机外部设备中所使用的排布类似于矩阵的键盘组.矩阵式结构的键盘显

「雕爷学编程」Arduino动手做(38)——joystick双轴摇杆模块

37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的.鉴于本人手头积累了一些传感器和模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手试试做实验,不管成功与否,都会记录下来---小小的进步或是搞不定的问题,希望能够抛砖引玉. [Arduino]108种传感器模块系列实验(资料+代码+图形+仿真) 实验三十八:joystick双轴XY按键摇杆模块(PS2游戏航模控制杆) 摇杆电位器 安装了两个10K高精度电位器和一个按键

「雕爷学编程」Arduino动手做(39)——DS18B20温度传感器

37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的.鉴于本人手头积累了一些传感器和模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手试试做实验,不管成功与否,都会记录下来---小小的进步或是搞不定的问题,希望能够抛砖引玉. [Arduino]108种传感器模块系列实验(资料+代码+图形+仿真) 实验三十九:DS18B20单总线数字温度传感器模块 DS18B20 是世界第一片支持"一线总线"接口的温度传感器,