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

这篇具有很好参考价值的文章主要介绍了【SpringBoot系列】读取yml文件的几种方式。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


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

前言

在Spring Boot开发中,配置文件是非常重要的一部分,而yml文件作为一种常用的配置文件格式,被广泛应用于Spring Boot项目中。Spring Boot提供了多种方式来读取yml文件中的属性值,开发者可以根据具体的需求和场景选择合适的方式。本文将介绍Spring Boot读取yml文件的主要方式,帮助开发者更好地理解和应用这些方式。

主要方式

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

1.@Value注解

​ 通过在属性上使用@Value注解,直接将yml文件中的属性值注入到对应的属性中。这种方式适用于需要将yml文件中的属性值注入到单个属性中的情况。

示例

application.yml:

name: Zhangsan

Bean:

public class MyBean {
    @Value("${name}")
    private String name;
} 
2.Environment对象

我们可以通过注入Environment对象来读取yml值,通过@Autowired注解将Environment对象注入到类中,然后使用getProperty方法获取yml文件中的属性值。这种方式适用于需要在代码中动态获取yml文件中的属性值的情况。

示例
@Autowired
private Environment environment;

public void doSomething() {
    String name = environment.getProperty("name");
}
3.@ConfigurationProperties注解

我们可以使用@ConfigurationProperties注解将yml中的值映射到bean的属性上,通过在配置类上使用@ConfigurationProperties注解,将yml文件中的属性值映射到配置类的属性上。这种方式适用于需要将yml文件中的多个属性值映射到一个配置类中的情况。

@ConfigurationProperties注解是Spring Boot提供的一个注解,用于读取配置文件中的属性值。它可以用于读取yaml文件、properties文件以及xml文件中的属性值。

要使用@ConfigurationProperties注解读取xml文件中的属性值,需要进行以下几个步骤:

  1. 创建一个@ConfigurationProperties注解的类,用于存储属性值。
  2. 在类上使用@Component注解,将其作为一个组件注册到Spring容器中。
  3. 在类上使用@PropertySource注解,指定xml文件的路径和名称。
  4. 在属性上使用@Value注解,指定属性的名称。
示例

application.yml:

my: 
    name: Zhangsan
    age: 18

Bean:

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

@ConfigurationProperties注解可以用于读取xml文件中的属性值。通过在类上使用@Component注解将其作为一个组件注册到Spring容器中,并使用@PropertySource注解指定xml文件的路径和名称,再使用@ConfigurationProperties注解指定属性的前缀和@Value注解指定属性的名称,我们可以方便地读取xml文件中的属性值,并将其注入到对应的属性中。

4.YmlPropertySourceFactory

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

YmlPropertySourceFactory是Spring Boot提供的一个工厂类,用于读取xml文件中的属性值。

使用YmlPropertySourceFactory需要进行以下几个步骤:

  1. 创建一个YmlPropertySourceFactory类的实例。

  2. 调用YmlPropertySourceFactory的createPropertySource方法,传入xml文件的路径和名称,创建一个PropertySource对象。

  3. 将PropertySource对象添加到Environment中,以便在代码中使用。

示例
@Configuration
public class XmlConfig {

@Autowired
private Environment environment;

@Bean
public PropertySource xmlPropertySource() {
    YmlPropertySourceFactory factory = new YmlPropertySourceFactory();
    PropertySource propertySource = factory.createPropertySource("classpath:config.xml");
    environment.getPropertySources().addFirst(propertySource);
    return propertySource;
}

@Bean
public MyBean myBean() {
    MyBean myBean = new MyBean();
    myBean.setConfigValue(environment.getProperty("config.value"));
    return myBean;
    }
}
5.@YamlComponent注解

YamlComponent是Spring Boot提供的一个注解,用于读取yaml文件中的属性值。它并不适用于读取xml文件中的属性值。如果需要读取xml文件中的属性值,可以使用其他方式,比如使用Spring的PropertyPlaceholderConfigurer或者自定义的PropertySourceFactory。

示例

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文件将有助于我们实现系统配置的灵活性。

YamlComponent注解适用于读取yaml文件中的属性值,而不适用于读取xml文件中的属性值。如果需要读取xml文件中的属性值,可以使用其他方式,比如使用Spring的PropertyPlaceholderConfigurer或者自定义的PropertySourceFactory。


总结

Spring Boot提供了多种方式来读取yml文件中的属性值,开发者可以根据具体的需求和场景选择合适的方式。使用@ConfigurationProperties注解可以将yml文件中的属性值映射到配置类的属性上,使用@Value注解可以直接将yml文件中的属性值注入到单个属性中,使用Environment对象可以在代码中动态获取yml文件中的属性值。通过灵活运用这些方式,开发者可以更好地管理和应用yml文件中的配置信息,提高开发效率和代码可读性。


写在最后

感谢您的支持和鼓励! 😊🙏

如果大家对相关文章感兴趣,可以关注公众号"架构殿堂",会持续更新AIGC,系统架构, 分布式, java, GO, python, 游戏相关 等系列文章,一系列干货随时送达!

【SpringBoot系列】读取yml文件的几种方式文章来源地址https://www.toymoban.com/news/detail-453442.html

到了这里,关于【SpringBoot系列】读取yml文件的几种方式的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • Unity中常用的几种读取本地文件方式

    使用的命名空间如下 using LitJson; using System.Collections.Generic; using System.IO; using System.Text; using UnityEngine; using UnityEngine.Networking; 1、通过UnityWebRequest获取本地StreamingAssets文件夹中的Json文件 View Code 2、通过UnityWebRequest和StreamReader读取本地StreamingAssets文件夹中的Json文件 View Code  3、通

    2024年02月04日
    浏览(11)
  • Java如何读取文件文本内容的几种方式汇总

    本文为joshua317原创文章,转载请注明:转载自joshua317博客 Java如何读取文件文本内容的几种方式汇总 - joshua317的博客 本文为joshua317原创文章,转载请注明:转载自joshua317博客 Java如何读取文件文本内容的几种方式汇总 - joshua317的博客

    2024年02月12日
    浏览(11)
  • 【SpringBoot系列】实现跨域的几种方式

    【SpringBoot系列】实现跨域的几种方式

    前言 在Web开发中,跨域是一个常见的问题。由于浏览器的同源策略,一个Web应用程序只能访问与其自身同源(即,相同协议、主机和端口)的资源。 这种策略的存在是为了保护用户的安全,防止恶意网站读取或修改用户的数据。 然而,现代Web应用程序经常需要访问不同源的

    2024年02月01日
    浏览(8)
  • 【SpringBoot系列】接收前端参数的几种方式

    【SpringBoot系列】接收前端参数的几种方式

    前言 在现代Web开发中,前后端分离的架构已经成为主流。前端负责展示页面和用户交互,而后端则负责处理业务逻辑和数据存储。在这种架构下,前端需要将用户输入的数据发送给后端进行处理。而Spring Boot作为一种快速开发框架,提供了多种方式来接收前端数据。 本文将介

    2024年02月05日
    浏览(7)
  • 【Java】读取 springboot 配置文件内容的几种方法

    Spring Boot 是一个非常流行的 Java Web 开发框架,它提供了大量的便捷功能和特性,其中读取配置文件是其中的一项重要功能。Spring Boot 支持多种方式读取配置文件,本文将介绍 Spring Boot 读取配置文件的原理和常用方法。 Spring Boot 读取配置文件的原理是通过 Spring Boot 的自动配置

    2024年02月15日
    浏览(11)
  • 【SpringBoot】两种配置文件, 详解 properties 和 yml 的语法格式, 使用方式, 读取配置

    【SpringBoot】两种配置文件, 详解 properties 和 yml 的语法格式, 使用方式, 读取配置

    各位读者好, 我是小陈, 这是我的个人主页, 希望我的专栏能够帮助到你: 📕 JavaSE基础: 基础语法, 类和对象, 封装继承多态, 接口, 综合小练习图书管理系统等 📗 Java数据结构: 顺序表, 链表, 堆, 二叉树, 二叉搜索树, 哈希表等 📘 JavaEE初阶: 多线程, 网络编程, TCP/IP协议, HTTP协议

    2024年02月10日
    浏览(9)
  • 前端常用的上传下载文件的几种方式,直接上传、下载文件,读取.xlsx文件数据,导出.xlsx数据

    1.1根据文件流Blob进行下载 1.2根据下载文件链接直接进行下载 html

    2024年02月12日
    浏览(13)
  • 【Spring】1、Spring 框架的基本使用【读取配置文件、IoC、依赖注入的几种方式、FactoryBean】

    【Spring】1、Spring 框架的基本使用【读取配置文件、IoC、依赖注入的几种方式、FactoryBean】

    Spring 框架可以说是 Java 开发中最重要的框架,功能 非常 强大 中文文档:https://springdoc.cn/spring/ 官网:https://spring.io/ Spring makes Java Simple、modern、productive … Spring 框架的几个核心概念: IoC: I nversion o f C ontrol:控制反转 DI: D ependency I njection:依赖注入 AOP: A spect O riented P rogram

    2024年02月09日
    浏览(15)
  • Unity Android 之 读取下载获取移动端 sdcard 路径下的指定文件夹的所有图片的几种方式的简单整理

    Unity Android 之 读取下载获取移动端 sdcard 路径下的指定文件夹的所有图片的几种方式的简单整理

    目录 Unity Android 之 读取下载获取移动端 sdcard 路径下的指定文件夹的所有图片的几种方式的简单整理 一、简单介绍 二、实现原理 三、注意事项 四、简单实现步骤 五、关键代码 附录: 一、不同平台使用宏区分路径加载 二、Unity3D中的资源路径 三、Unity3D各平台路径(包括手

    2024年01月19日
    浏览(77)
  • UNITY--读取Excel的几种方式

    UNITY--读取Excel的几种方式

    目录 一.DLL插件读取 1.1.Excel存放位置 1.2.使用示例 1.3.Excel格式  1.4.输出显示  1.5.所需插件 二.Excel转成Asset文件,再进行读取 2.1Excel文件存放位置 2.2 编辑模式生成Asset文件,并保存到指定位置  2.3创建ExcelRead脚本,读取Excel内容 2.4 创建数据存储脚本 2.5  编辑器生成Asset 与属

    2024年01月20日
    浏览(30)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包