java读取解析application.yml

本文介绍了Java如何读取和解析application.yml文件,包括需要引入的依赖,创建BootYaml类,建立YmlPropUtils工具类,以及进行测试的详细步骤。
摘要由CSDN通过智能技术生成

java读取解析application.yml

不用依赖spring容器,可单独使用。
第一步、首先要2个jar
<!-- properties和yaml格式化 -->
<dependency>
    <groupId>com.fasterxml.jackson.dataformat</groupId>
    <artifactId>jackson-dataformat-yaml</artifactId>
    <version>2.9.8</version>
</dependency>
<dependency>
    <groupId>com.fasterxml.jackson.dataformat</groupId>
    <artifactId>jackson-dataformat-properties</artifactId>
    <version>2.9.8</version>
</dependency>
第二步、新建一个BootYaml.java
import cn.hutool.core.convert.Convert;
import cn.hutool.core.io.FileUtil;
import cn.hutool.core.map.MapUtil;
import cn.hutool.core.text.StrSpliter;
import cn.hutool.core.util.StrUtil;
import com.fasterxml.jackson.core.JsonParser;
import com.fasterxml.jackson.core.JsonToken;
import com.fasterxml.jackson.dataformat.javaprop.JavaPropsFactory;
import com.fasterxml.jackson.dataformat.yaml.YAMLFactory;
import com.fasterxml.jackson.dataformat.yaml.YAMLGenerator;
import com.fasterxml.jackson.dataformat.yaml.YAMLParser;
import com.ynzhongxi.pay.utils.Tools;
import org.yaml.snakeyaml.Yaml;

import java.io.IOException;
import java.util.LinkedHashMap;
import java.util.List;

/**
 * 写一个SpringBoot读取Yaml配置文件的类
 *
 * @author lixingwu
 */
public class BootYaml extends Yaml {
    /** 环境配置路径的键值 */
    private String active;
    /** 引入yml的键值 */
    private String include;
    /** 配置文件的前缀 */
    private String prefix;

    /**
     * <p>方法名称:根据application.yml转化为LinkedHashMap.</p>
     * <p>详细描述:会解析spring.profiles.active启用的配置和spring.profiles.include引入的文件.</p>
     * <p>创建时间:2019-07-10 17:39:38</p>
     * <p>创建作者:李兴武</p>
     * <p>修改记录:</p>
     *
     * @param path application.yml
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Spring Boot 是一个基于 Spring 框架的开发工具,它使用注解和约定优于配置的原则来简化 Spring 应用的开发。在 Spring Boot 中,将应用程序的配置信息存储在 application.yml 文件中,以便进行统一的管理。 Spring Boot 是通过使用@ConfigurationProperties注解来加载 application.yml 文件的。首先,我们需要在应用程序的配置类上添加该注解,并使用 @PropertySource 指定要加载的配置文件的位置。然后,通过在属性上使用相应的注解(如 @Value、@ConfigurationProperties)来将属性与配置文件中的值进行绑定。 在加载配置文件时,Spring Boot 将自动根据属性的名称从 application.yml 文件中查找对应的值,并将其注入到应用程序中。 除了 application.yml 文件,Spring Boot 还支持加载其他格式的配置文件,如 application.properties。可以根据具体的需求选择适合的配置文件格式。 通过将应用程序的配置信息集中保存在 application.yml 文件中,可以方便地管理和修改配置。而且,Spring Boot 还提供了一些内置的功能和注解,可以方便地对配置进行校验和自动完成。 总之,Spring Boot 通过@ConfigurationProperties注解和相关的注解来加载 application.yml 文件,将应用程序的配置信息集中管理,简化了开发过程。它提供了方便的配置方式,使得配置的修改和管理更加灵活和高效。 ### 回答2: Spring Boot 是一个基于 Spring 框架的开源Java开发框架,通过自动化配置和约定式编程,大大简化了传统 Spring 应用的开发过程。 在 Spring Boot 中,application.yml 是用来存放应用的配置信息的文件。Spring Boot 在启动时会自动加载 application.yml 文件,并读取其中的配置信息,然后根据这些配置信息来完成相应的配置操作。 为了加载 application.yml 文件,Spring Boot 遵循了一定的加载顺序。首先,它会在 classpath 下找到所有的 application.yml 文件,然后按照一定的优先级进行加载。具体加载顺序如下: 1. 当前项目的 classpath 下的根路径(即 src/main/resources/)下的 application.yml。 2. 当前项目的 classpath 下的 config 目录下的 application.yml。 3. 当前项目 jar 包外部的 config 目录下的 application.yml。 4. 当前项目 jar 包内部的 config 目录下的 application.yml。 在加载这些 application.yml 文件时,Spring Boot 会根据默认的配置规则进行解析。通常,我们可以在 application.yml 中使用一些特定的前缀来标识不同的配置项,比如 spring、server 等,这样 Spring Boot 就会根据这些前缀来将配置的值绑定到相应的对象中。这个过程称为自动配置。 除了 application.yml,Spring Boot 还支持其他的配置文件格式,如 application.properties、application.yaml 等。它们的加载方式和 application.yml 类似,只是文件格式不同而已。 总之,Spring Boot 可以通过加载 application.yml读取应用的配置信息,并根据这些配置信息完成对应的配置操作,从而简化了开发过程。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值