一、关于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多环境配置文件的更多相关文章

  1. spring-boot多环境配置文件

    spring-boot多环境配置文件 目录 配置 多环境配置文件名称要遵循格式 application-{profile}.yml application.yml spring: profiles: ...

  2. SpringBoot(二): SpringBoot属性配置文件 SpringBoot多环境配置文件 SpringBoot自定义配置文件

    1.属性配置文件 一共分为两种,一种是键值对的properties属性配置文件,一种是yaml格式的配置文件 properties配置: 2.多环境配置文件 当我们的项目中有多套配置文件 比如开发的配 ...

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

    前言 我们都知道springboot的配置卸载application.properties配置文件上(或者application.yml).但是,如果想要把不同的环境(如开发环境,测试环境,生产环境) ...

  4. SpringBoot 多环境配置文件切换

    背景 很多时候,我们项目在开发环境和生成环境的环境配置是不一样的,例如,数据库配置,在开发的时候,我们一般用测试数据库,而在生产环境的时候,我们是用正式的数据,这时候,我们可以利用profile在不同 ...

  5. 用maven按环境打包SpringBoot的不同配置文件

    利用maven按环境打包SpringBoot的不同配置文件 application-dev.properties对应开发环境 application-test.properties对应测试环境 app ...

  6. SpringBoot学习笔记(八):SpringBoot启动端口+访问路、SpringBoot配置文件yml、SpringBoot多环境区分、SpringBoot打包发布

    SpringBoot启动端口+访问路径 配置文件: server.port=9090 server.context-path=/springboot 现在只能用http://127.0.0.1:909 ...

  7. Java开发学习(三十七)----SpringBoot多环境配置及配置文件分类

    一.多环境配置 在工作中,对于开发环境.测试环境.生产环境的配置肯定都不相同,比如我们开发阶段会在自己的电脑上安装 mysql ,连接自己电脑上的 mysql 即可,但是项目开发完毕后要上线就需要该配 ...

  8. Springboot 之 多配置文件

    六.Springboot 之 多配置文件   说明:在程序开发过程中可能会有这样的需求:开发和部署的配置信息可能会不同,以传统的方式就是在配置文件里面写好配置,在部署的时候再去修改这些配置,这样肯定会 ...

  9. SpringBoot入坑-配置文件使用

    经过上一篇的介绍,相信小伙伴们已经按奈不住内心对springboot的向往,本篇我将继续向小伙伴介绍springboot配置文件的配置,已经全局配置参数如何使用,好了下面开始我们今天的内容介绍. 我们 ...

随机推荐

  1. gvim使用总结

    我的gvim配置 set nocompatible " 关闭vi兼容 " 显示相关 set go= set number set cursorline set nowrap set ...

  2. scrapy shell 遇到的问题

    有时候用scrapy shell来调试很方便,但是有些网站有防爬虫机制,所以使用scrapy shell会返回403,比如下面 有两种解决方法: (1):第一种方法是在命令上加上-s USER_AGE ...

  3. jmeter 及测试(转载)

    负载测试:在一定的工作负荷下,给系统造成的负荷及系统响应的时间. 压力测试:在一定的负荷条件下,长时间连续运行系统给系统性能造成的影响.   1.性能测试(Performance Test):通常收集 ...

  4. java HashMap、HashTable、ConcurrentHashMap区别

    HashTable 底层数组+链表实现,无论key还是value都不能为null,线程安全,实现线程安全的方式是在修改数据时锁住整个HashTable,效率低,ConcurrentHashMap做了相 ...

  5. DNA Consensus String UVA - 1368

    题目链接:https://vjudge.net/problem/UVA-1368 题意:给出一组字符串,求出一组串,使与其他不同的点的和最小 题解:这个题就是一个点一个点求,利用桶排序,求出最多点数目 ...

  6. ken桑带你读源码 之scrapy scrapy\extensions

    logstats.py 爬虫启动时 打印抓取网页数   item数 memdebug.py 爬虫结束 统计还被引用的内存 也就是说gc 回收不了的内存   memusage.py 监控爬虫 内存占用  ...

  7. Django学习路4_数据库添加元素,读取及显示到网页上

    在 views 中实现对数据库的添加和读取数据库 添加数据 对象 = models 中创建的类名() 对象.列名 = '字段值' 对象.save() 进行保存 return HttpResponse( ...

  8. JS中Math.random()的使用和扩展

    Math.random()方法返回大于等于 0 小于 1 的一个随机数.对于某些站点来说,这个方法非常实用,因为可以利用它来随机显示一些名人名言和新闻事件. 在连续整数中取得一个随机数 值 = Mat ...

  9. Python exec 内置语句

    描述 exec 执行储存在字符串或文件中的Python语句,相比于 eval,exec可以执行更复杂的 Python 代码.岭组词  https://www.cgewang.com/post/2205 ...

  10. PHP 变量讲解

    PHP 变量 变量是用于存储信息的"容器": 实例 <?php $x=5; $y=6; $z=$x+$y; echo $z; ?> 运行实例 » 与代数类似 x=5y= ...