iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > JAVA >【SpringBoot系列】读取yml文件的几种方式
  • 350
分享到

【SpringBoot系列】读取yml文件的几种方式

springbootjavaspring 2023-08-18 19:08:20 350人浏览 薄情痞子
摘要

Spring Boot读取yml文件的主要方式有以下几种: 1.@Value注解 ​ 我们可以在bean的属性上使用@Value注解,直接读取yml中的值,如: application.yml: name: Zhangsan Bean: p

Spring Boot读取yml文件的主要方式有以下几种:

1.@Value注解

​ 我们可以在bean的属性上使用@Value注解,直接读取yml中的值,如:

application.yml:

name: Zhangsan

Bean:

public class MyBean {    @Value("${name}")    private String name;} 

2.Environment对象

我们可以通过注入Environment对象来读取yml值,如:

@Autowiredprivate Environment environment;public void doSomething() {    String name = environment.getProperty("name");}

3.@ConfigurationProperties注解

我们可以使用@ConfigurationProperties注解将yml中的值映射到bean的属性上,如:

application.yml:

my:     name: Zhangsan    age: 18

Bean:

@Component @ConfigurationProperties(prefix = "my")public class MyProps {    private String name;    private int age;        // getter and setter}

4.YmlPropertySourceFactory

我们可以使用YmlPropertySourceFactory来加载yml文件,然后像普通Properties一样读取值,如:

@Beanpublic static PropertySourcesPlaceholderConfigurer properties() {    YamlPropertiesFactoryBean factory = new YamlPropertiesFactoryBean();    factory.setResources(new ClassPathResource("application.yml"));    factory.getObject().forEach((k, v) -> System.out.println(k + ": " + v));    return factory; } 

5.@YamlComponent注解

如果yml文件中用—分隔了多个文档,我们可以使用@YamlComponent注解将每份文档映射到一个bean上,如:

application.yml:

my:  name: Zhangsan ---my:   name: Lisi

Beans:

@Component("first") @YamlComponent(value = "my.first")public class FirstProps {    private String name;}@Component("second")  @YamlComponent(value = "my.second")public class SecondProps {    private String name; }

这就是spring Boot读取yml文件的主要5种方式,可以根据需要选择使用。yml作为Spring Boot默认的配置文件格式,理解如何操纵yml文件将有助于我们实现系统配置的灵活性。

写在最后

如果大家对相关文章感兴趣,可以关注公众号"架构殿堂",会持续更新aiGCJava基础面试题, Netty, spring boot,spring cloud等系列文章,一系列干货随时送达!

来源地址:https://blog.csdn.net/jinxinxin1314/article/details/130633044

--结束END--

本文标题: 【SpringBoot系列】读取yml文件的几种方式

本文链接: https://www.lsjlt.com/news/374601.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作