当前位置:网站首页 > 技术经理的晋升之路 > 正文

yml文件取值(怎么获取yml中的变量)



本篇博客主要讲解下在Spring Boot中如何获取配置文件的值。

Spring Boot默认生成的配置文件为application.properties,不过它也支持yaml语言的配置文件,

两者之间的差别并不是很大,只是yaml语言的配置文件层次结构更明显,可读性更强,因此目前使用的更多一些。

我们假设本来application.properties的配置为:

那么如何将配置文件切换为application.yml呢?

首先删除掉原来的配置文件application.properties,新增配置文件application.yml,新增方式如下:

springboot 获取配置的源码_springboot 获取配置的源码

springboot 获取配置的源码_springboot 获取配置的源码_02

springboot 获取配置的源码_springboot 获取配置的源码_03

然后修改application.yml为:

运行结果和原来使用properties配置文件时一致。

首先在application.yml中添加如下配置:

然后修改启动类的代码为:

运行项目,在浏览器中输入http://localhost:8080/,会看到如下信息:

springboot 获取配置的源码_spring_04

这种方式和在Spring项目中的使用方式一样,更多的细节,可以查看我之前总结的博客:

Spring入门(九):运行时值注入。

Spring Boot还提供了注解来获取配置文件值,该种方式可把配置文件值和一个Bean自动关联起来,使用起来更加方便而且类型安全,建议使用这种方式

首先,在application.yml中添加如下配置:

然后,新建类AuthorSettings,添加注解和注解:

这里的重点是注解,它的prefix属性用来指定配置的前缀,如本例中的author。

然后修改启动类的代码为:

运行项目,在浏览器中输入http://localhost:8080/,会看到如下信息:

springboot 获取配置的源码_端口号_05

一般情况下,我们开发的应用程序都会有多套环境, 如dev环境,qa环境,prod环境,那么如何实现多套环境下的配置管理呢?

其实在Spring Boot下,我们可以使用Profile来实现,接下来讲解下具体的实现方式。

首先,新建2个配置文件:application-dev.yml,application-prod.yml。

此时的项目结构如下图所示:

springboot 获取配置的源码_springboot 获取配置的源码_06

如果有的同学比较喜欢用properties文件,可以用下图中的方式新建:

springboot 获取配置的源码_spring_07

springboot 获取配置的源码_配置文件_08

默认情况下,启动的端口号为8080,如果我们希望在dev环境使用端口号8082,在prod环境使用端口号8083,那么可以修改配置文件如下:

application-dev.yml新增如下配置:

application-prod.yml新增如下配置:

运行项目,如下图所示:

springboot 获取配置的源码_springboot 获取配置的源码_09

我们会发现,仍然使用的是默认的端口号8080,那么如何指定使用dev或者prod环境的端口呢?

我们需要在application.yml新增如下配置:

此时,再次运行项目,会发现使用的是端口号8082,也就是application-dev.yml文件中配置的。

springboot 获取配置的源码_spring_10

如果希望使用prod环境的,可以修改配置为:

运行结果为:

springboot 获取配置的源码_springboot 获取配置的源码_11

到此这篇yml文件取值(怎么获取yml中的变量)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • max3232原理图(max3232电路)2024-12-30 20:27:05
  • 华为模拟器路由器接口配置ip地址是什么(华为模拟器路由器接口配置ip地址是什么意思)2024-12-30 20:27:05
  • 反激电路vds波形分析(反激电源vds波形)2024-12-30 20:27:05
  • 华为模拟器查看路由命令(华为模拟器路由器网关怎么配)2024-12-30 20:27:05
  • 公司阶级分层图经理(公司层级分类)2024-12-30 20:27:05
  • 反激电路及工作原理(反激电路工作原理视频)2024-12-30 20:27:05
  • 电路工作原理流程图(电路工作原理是什么)2024-12-30 20:27:05
  • 华为模拟器ensp配置静态路由(华为ensp模拟器的路由器实验)2024-12-30 20:27:05
  • can接口图片(can接口电路图)2024-12-30 20:27:05
  • 华为模拟器路由器网关怎么配(华为模拟器路由器接口配置ip地址)2024-12-30 20:27:05
  • 全屏图片