17.Spring Boot加载指定YML文件

这篇具有很好参考价值的文章主要介绍了17.Spring Boot加载指定YML文件。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录


Spring Boot专栏目录(点击进入…)



SpringBoot加载指定YML文件

Spring Boot默认支持properties和yml配置文件的读取,前者格式简单,但是只支持键值对。如果需要表达列表,最好使用YAML格式。

Spring Boot支持自动加载约定名称的配置文件,仅支持指定路径下指定名称的配置文件;例如application.yml。当自定义指定路径加载配置文件时,properties文件使用@PropertySource注解即可,但该注解并不支持加载yaml

老版本的SpringBoot可以通过@ConfigurationProperties的方式指定location;1.0.4之后该属性就取消了文章来源地址https://www.toymoban.com/news/detail-497706.html

@ConfigurationProperties(locations={"classpath:myconfig.yml"})

(1)YamlPropertiesFactoryBean:将yaml文件加载为Properties

@Configuration
public class YamlPropertyConfig {

    /**
     * 将yaml文件转为properties并设置到属性源
     * @return
     */
    @Bean
    public PropertySourcesPlaceholderConfigurer propertySourcesPlaceholderConfigurer() {
        PropertySourcesPlaceholderConfigurer propertySourcesPlaceholderConfigurer = new PropertySourcesPlaceholderConfigurer();
        YamlPropertiesFactoryBean yamlProperties = new YamlPropertiesFactoryBean();
        yamlProperties.setResources(new ClassPathResource("generator.yml"));
        propertySourcesPlaceholderConfigurer.setProperties(yamlProperties.getObject());
        return propertySourcesPlaceholderConfigurer;
    }

}

(2)YamlPropertySourceLoader:将yaml文件加载为Map

@Configuration
public class YamlPropertyConfig {

    @Bean
    public PropertySourcesPlaceholderConfigurer propertySourcesPlaceholderConfigurer2() {
        PropertySourcesPlaceholderConfigurer configurer = new PropertySourcesPlaceholderConfigurer();
        YamlPropertySourceLoader loader = new YamlPropertySourceLoader();
        MutablePropertySources sources = new MutablePropertySources();
        try {
            List<PropertySource<?>> generator = loader.load("generator", new ClassPathResource("generator.yml"));
            generator.stream().forEach(item -> {
                sources.addLast(item);
            });
        } catch (IOException e) {
            e.printStackTrace();
        }
        configurer.setPropertySources(sources);
        return configurer;
    }
    
}

到了这里,关于17.Spring Boot加载指定YML文件的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • Java实战:Spring Boot application.yml配置文件详解

    本文将详细介绍Spring Boot application.yml 配置文件的使用和配置项。我们将探讨 application.yml 文件的基本概念,以及如何使用它来配置Spring Boot应用程序的各个方面。此外,我们将通过具体的示例来展示如何配置不同的Spring Boot组件,如数据源、数据库、缓存、邮件服务等。本文适

    2024年04月24日
    浏览(42)
  • 在Spring Boot微服务使用jasypt-spring-boot加密和解密yml配置文件

    记录 :424 场景 :在Spring Boot微服务,使用jasypt-spring-boot加密和解密yml配置文件中的配置信息。 版本 :JDK 1.8,Spring Boot 2.6.3,jasypt-1.9.3,jasypt-spring-boot-2.1.2, jasypt-spring-boot-3.0.5。 开源地址 :https://github.com/ulisesbocchio/jasypt-spring-boot 1.在Spring Boot微服务使用jasypt-spring-boot-3.0.5版本

    2024年02月09日
    浏览(68)
  • Spring Boot微服务从yml文件中加载配置(使用@Value和@ConfigurationProperties)

    记录 :398 场景 :在Spring Boot的微服务中从application.yml等yml文件中加载自定义配置内容。使用@Value直接加载单个配置。使用@ConfigurationProperties注解把一个或者多个配置加载为Java对象。 版本 :JDK 1.8,SpringBoot 2.6.3 1.使用@Value注解加载配置 使用注解@RestController、@Service、@Component等

    2024年02月12日
    浏览(40)
  • Spring Boot 的系统配置文件加载顺序

    【理论介绍】 配置文件加载顺序: 1、项目根目录下的config目录。【优先级最高】 2、项目根目录。 3、classpath下的config目录。 4、classpath目录(新建项目时application.properties默认所在位置)。【优先级最低】 备注: 加载顺序:4 - 3 - 2 - 1。 优先级:逐渐减低(1234)。 【举例说

    2024年02月09日
    浏览(52)
  • Spring Boot如何实现配置文件的自动加载和刷新?

    在使用Spring Boot开发应用程序时,配置文件是非常重要的组成部分。在不同的环境中,我们可能需要使用不同的配置文件,例如在开发、测试和生产环境中使用不同的配置文件。而且,当我们更改配置文件时,我们希望应用程序能够自动加载和刷新配置文件,而无需重启应用

    2024年02月07日
    浏览(56)
  • Spring Boot读取resource目录下文件失败解决方案及分析

    最近有个需求,就是需要从resource目录下读取文件返回给用户。在idea中运行时,有些resource下文件读取工具类能够正常获取读取到文件。但是通过java –jar的方式去运行jar包,此时resource下文件读取工具类读取文件就失效了。通过查询搜索,了解到了是读取的方式导致文件读取

    2024年02月05日
    浏览(54)
  • Spring Boot获取resources目录下的文件的三种方式

    在Spring Boot项目中,经常需要获取 resources 目录下的文件。这些文件可以包括配置文件、模板文件、静态资源等。本文将介绍三种常用的方法来获取 resources 目录下的文件。 ResourceLoader 接口是Spring框架提供的用于加载各种资源的接口,包括 classpath 下的资源。在Spring Boot中,可

    2024年02月16日
    浏览(57)
  • 启动spring boot项目时加载配置文件报错的问题

    最近把电脑重置了一下,然后重新安装各种开发软件,从gitee拉项目到本地运行时居然启动报错了: Failed to load property source from \\\'file:/D:/program/IdeaProjects/layui/target/classes/application.yml\\\' 这是加载配置文件的时候失败了,提示一堆错误信息,但是没有任何实质性的帮助。 导致种情况

    2024年02月11日
    浏览(48)
  • 企业级信息系统开发——Spring Boot加载自定义配置文件

    设置项目元数据 添加项目依赖 设置项目编码为utf8(尤其注意复选框) 在 resources 下创建 myconfig.properties 文件 在 net.shuai.boot 包里创建配置类 config.StudentConfig 点开测试类 ConfigDemo01ApplicationTests 编写测试方法,注入学生配置实体,创建 testStudentConfig() 测试方法,在里面输出学生

    2024年02月07日
    浏览(43)
  • 【已解决】Spring boot项目获取到resource目录下文件完整路径怎么获取 ?

    在实际开发过程中,可能有时候,我们将文件放在resource下,在程序中需要获取到文件路径然后操作。比如,将公钥放到resource文件夹下,在程序中需要获取到这个公钥的完整路径。怎么操作?   需要访问的文件位置 获取方法如下: 在yaml文件中配置公钥文件名称: pem:   

    2024年02月09日
    浏览(45)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包