springboot多环境配置文件
一、关于springboot的配置文件
springboot的配置文件主要有两种:properties文件和yml文件,我们只要选择一种使用就可以了。我们通过properties文件介绍一下配置的方式,properties文件主要是通过键值对的方式进行配置,如下图:

二、springboot中多环境配置文件
多环境配置文件是什么?
因为在项目中往往存在不同的环境,比如开发环境、测试环境、stable环境以及线上环境。对于不同的环境往往有不同的配置,那么运行时具体使用哪一套配置环境是一个问题。解决方案如下:




首先我们创建了两套配置文件dev和test,可以在主要配置文件application.properties中激活dev这个配置文件。springboot首先会查找主配置文件里面的配置,然后会去dev中找配置信息。如图所示,我们在dev中激活的端口只8090,可以看到springboot启动后的端口也是8090,说明dev的配置文件确实启动了。
三、配置文件中自定义键值对
在springboot配置文件中,我们可以自定义一些键值对,这些键值对可能并不是springboot的配置项,是我们自己定义的,我们可以通过两种方式这种键值对读出来。
第一种方式:注解@value的方式
首先,我们在注解这种加入了两个不被识别的键值对:

然后,我们进行测试:
@SpringBootTest
class ApplicationTests { @Value("${kunkun}")
private String name;
@Value("${age}")
private int age; @Test
void contextLoads() {
System.out.println(name);
System.out.println(age);
} }

打印出的结果如图所示,很容易理解,这些键值对已经被读出来了。
第二种方式:注解@configurationProperties
这个注解可以将整个配置文件映射成为一个Java对象(适合配置项比较多的场景),看例子:

@Data
@Component
@ConfigurationProperties(prefix = "kunkun")//注解的作用就是找到前缀是kunkun的配置项
public class Student { //后缀必须和变量名称相同才可以被识别
private String name; private int age;
}
这边的代码表示将配置项映射的类。@Component表示这个类是spring容器中的一个bean。下边是测试代码:
@SpringBootTest
class ApplicationTests { @Autowired
private Student student; @Test
void contextLoads() {
System.out.println(student.getAge());
System.out.println(student.getName());
} }

结果可以看出来我们成功读出了配置项。
springboot多环境配置文件的更多相关文章
- spring-boot多环境配置文件
spring-boot多环境配置文件 目录 配置 多环境配置文件名称要遵循格式 application-{profile}.yml application.yml spring: profiles: ...
- SpringBoot(二): SpringBoot属性配置文件 SpringBoot多环境配置文件 SpringBoot自定义配置文件
1.属性配置文件 一共分为两种,一种是键值对的properties属性配置文件,一种是yaml格式的配置文件 properties配置: 2.多环境配置文件 当我们的项目中有多套配置文件 比如开发的配 ...
- 「快学springboot」SpringBoot多环境配置文件
前言 我们都知道springboot的配置卸载application.properties配置文件上(或者application.yml).但是,如果想要把不同的环境(如开发环境,测试环境,生产环境) ...
- SpringBoot 多环境配置文件切换
背景 很多时候,我们项目在开发环境和生成环境的环境配置是不一样的,例如,数据库配置,在开发的时候,我们一般用测试数据库,而在生产环境的时候,我们是用正式的数据,这时候,我们可以利用profile在不同 ...
- 用maven按环境打包SpringBoot的不同配置文件
利用maven按环境打包SpringBoot的不同配置文件 application-dev.properties对应开发环境 application-test.properties对应测试环境 app ...
- SpringBoot学习笔记(八):SpringBoot启动端口+访问路、SpringBoot配置文件yml、SpringBoot多环境区分、SpringBoot打包发布
SpringBoot启动端口+访问路径 配置文件: server.port=9090 server.context-path=/springboot 现在只能用http://127.0.0.1:909 ...
- Java开发学习(三十七)----SpringBoot多环境配置及配置文件分类
一.多环境配置 在工作中,对于开发环境.测试环境.生产环境的配置肯定都不相同,比如我们开发阶段会在自己的电脑上安装 mysql ,连接自己电脑上的 mysql 即可,但是项目开发完毕后要上线就需要该配 ...
- Springboot 之 多配置文件
六.Springboot 之 多配置文件 说明:在程序开发过程中可能会有这样的需求:开发和部署的配置信息可能会不同,以传统的方式就是在配置文件里面写好配置,在部署的时候再去修改这些配置,这样肯定会 ...
- SpringBoot入坑-配置文件使用
经过上一篇的介绍,相信小伙伴们已经按奈不住内心对springboot的向往,本篇我将继续向小伙伴介绍springboot配置文件的配置,已经全局配置参数如何使用,好了下面开始我们今天的内容介绍. 我们 ...
随机推荐
- 数据可视化之PowerQuery篇(十四)产品关联度分析
https://zhuanlan.zhihu.com/p/64510355 逛超市的时候,面对货架上琳琅满目的商品,你会觉得这些商品的摆放,或者不同品类的货架分布是随机排列的吗,当然不是. 应该都听说 ...
- AcWing 1208. 翻硬币
AcWing 1208. 翻硬币 原题链接 小明正在玩一个"翻硬币"的游戏. 桌上放着排成一排的若干硬币.我们用 * 表示正面,用 o 表示反面(是小写字母,不是零). 比如,可能 ...
- 《Head First 设计模式》:装饰者模式
正文 一.定义 装饰者模式动态地将责任(功能)附加到对象上.若要扩展功能,装饰者提供了比继承更有弹性的替代方案. 要点: 装饰者和被装饰者有相同的超类型. 可以用一个或多个装饰者包装一个对象. 既然装 ...
- There are unfinished transactions remaining. Please run yum-complete-transaction as root.
问题:CentOS 运行软件更新时,提示如下错误. 解决办法: 在终端界面,运行 sudo yum-complete-transaction.
- Web Scraping using Python Scrapy_BS4 - using Scrapy and Python(2)
Scrapy Architecture Creating a Spider. Spiders are classes that you define that Scrapy uses to scrap ...
- C++ 线性筛素数
今天要写一篇亲民的博客了,尽力帮助一下那些不会线性筛素数或者突然忘记线性筛素数的大佬. 众所周知,一个素数的倍数肯定不是素数(废话).所以我们可以找到一个方法,普通的筛法(其实不算筛,普通的是判断一个 ...
- 集训作业 洛谷P1433 吃奶酪
嗯?这题竟然是个绿题. 这个题真的不难,不要被他的难度吓到,我们只是不会计算2点之间的距离,他还给出了公式,这个就有点…… 我们直接套公式去求出需要的值,然后普通的搜索就可以了. 这个题我用的深搜,因 ...
- 终于搞懂Spring中Scope为Request和Session的Bean了
之前只是很模糊的知道其意思,在request scope中,每个request创建一个新的bean,在session scope中,同一session中的bean都是一样的 但是不知道怎么用代码去验证 ...
- 前端练习错题day01
<1>.css盒子模型中,padding是透明的,这一部分可以显示背景. <2>.注意&&符号左右条件先后顺序,可能会报错. <3>.在 HTML5 ...
- 时间复杂度为O(nlogn)的排序算法
时间复杂度为O(nlogn)的排序算法(归并排序.快速排序),比时间复杂度O(n²)的排序算法更适合大规模数据排序. 归并排序 归并排序的核心思想 采用"分治思想",将要排序的数组 ...