当前位置: 首页 > article >正文

spring中将yaml文件转换为Properties

文章目录

  • 一 、简要概述
  • 二、主要用途
  • 三、源码放送

一 、简要概述

借助于spring框架,将yaml文件转换为Properties。

YamlPropertiesFactoryBean 是 Spring 框架中的一个类,用于将 YAML 格式的配置文件转换为 Properties 对象。这个类通常用于在 Spring 应用程序中加载 YAML 格式的配置文件,并将其转换为可以被 Spring 环境和配置系统使用的 Properties 对象。

二、主要用途

加载 YAML 配置文件:YamlPropertiesFactoryBean 可以读取 YAML 格式的配置文件,并将其转换为 Properties 对象,这样 Spring 就可以使用这些配置信息。
集成到 Spring 配置系统:通过将 YamlPropertiesFactoryBean 生成的 Properties 对象注入到 Spring 的 PropertySourcesPlaceholderConfigurer 或其他配置类中,可以方便地在 Spring 应用程序中使用 YAML 配置。

三、源码放送

以下是一个简单的示例,展示如何使用 YamlPropertiesFactoryBean 加载 YAML 配置文件

import java.util.Properties;

import org.junit.Test;
import org.springframework.beans.factory.config.YamlPropertiesFactoryBean;
import org.springframework.core.io.ClassPathResource;
import org.springframework.core.io.Resource;

import lombok.extern.slf4j.Slf4j;

@Slf4j
public class YamlProcessBySpringTest
{
    Resource resource = new ClassPathResource("application.yml");
    
    @Test
    public void testToProps()
    {
        YamlPropertiesFactoryBean factoryBean = new YamlPropertiesFactoryBean();
        factoryBean.setResources(resource);
        Properties props = factoryBean.getObject();
        props.keySet().stream().forEach(k -> log.info("{} ===> {}", k, props.get(k)));
    }
}

详细说明:
YamlPropertiesFactoryBean:这个类负责读取 YAML 文件并将其转换为 Properties 对象。
ClassPathResource:用于指定 YAML 文件的位置,这里假设 YAML 文件位于类路径下。

此实现,依赖较单一,仅依赖于spring-beans、snakeyaml,建议使用!


有任何问题和建议,都可以向我提问讨论,大家一起进步,谢谢!

-over-


http://www.kler.cn/a/589459.html

相关文章:

  • 【Kubernetes】Kubernetes 如何进行容器编排和调度?如何使用 kubectl`创建和管理 Pod、Deployment、Service?
  • 51单片机指令系统入门
  • 国产编辑器EverEdit - 命令窗口的使用
  • CRTP奇异递归模板模式
  • SSM框架——Spring面试题
  • 因果推荐|可解释推荐系统的反事实语言推理
  • Spring Boot 整合 Elasticsearch:打造高性能全文检索实战
  • Mac电脑python 有没有ros接口 查看lidar的数据
  • WEB安全--SQL注入--DNSlog外带
  • 时区转换工具
  • X86 RouterOS 7.18 设置笔记六:端口映射(IPv4、IPv6)及回流问题
  • 无SIM卡时代即将来临?eSIM才是智联未来?
  • 一键批量txt转DWG,DWG转txt——插件实现 CAD c#二次开发
  • 基于Flask的东方财富网股票数据可视化分析系统
  • 基于python的图书馆书目推荐数据分析与可视化-django+spider+vue
  • 直击行业痛点,赛逸展2025科技创新奖推陈出新
  • Flutter_学习记录_ ImagePicker拍照、录制视频、相册选择照片和视频、上传文件
  • PHP:从入门到进阶的编程之旅
  • 语言大模型的模型微调方法LoRA
  • Linux进程状态详解:僵尸进程与孤儿进程的深度探索与实践