返回顶部
首页 > 资讯 > 精选 >SpringBoot获取配置文件内容的方式有哪些
  • 466
分享到

SpringBoot获取配置文件内容的方式有哪些

2023-07-05 04:07:08 466人浏览 泡泡鱼
摘要

这篇文章主要介绍“SpringBoot获取配置文件内容的方式有哪些”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“springBoot获取配置文件内容的方式有哪些”文章能帮助大家解决问题。前言现有配置

这篇文章主要介绍“SpringBoot获取配置文件内容的方式有哪些”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“springBoot获取配置文件内容的方式有哪些”文章能帮助大家解决问题。

前言

现有配置文件如下,如何获取到配置文件的值呢?

file:  windows: D:\file  linux: /usr/local/file

方法1:@ConfigurationProperties

首先,可以标注到实体类上。

@Data@Component@ConfigurationProperties(prefix = "file")public class FileProperties {    private String windows;    private String linux;}

标注在配置类上的方法上,同样是从配置文件中取值赋值到返回值的属性中。使用如下:

@Bean@ConfigurationProperties(prefix = "userinfo")public FileProperties fileProperties() {    return new FileProperties();}

使用方法:

@Servicepublic class Test {         @Autowired    private FileProperties fileProperties;        @Override    public void test() {         System.out.println(fileProperties.getLinux());    }}

总结

@ConfigurationProperties注解能够很轻松的从配置文件中取值,优点如下:

  • 支持批量的注入属性,只需要指定一个前缀 prefix

  • 支持复杂的数据类型,比如 List 、 Map

  • 对属性名匹配的要求较低,比如user-name,user_name,userName,USER_NAME 都可以取值

  • 支持JAVA的jsR303数据校验

方法2:@Value

@Value("${file.windows}")private String windows;@Value("${file.linux}")private String linux;

如何从自定义配置文件中取值?

Spring Boot在启动的时候会自动加载 application.xxx 和 bootsrap.xxx ,但是为了区分,有时候需要自 定义一个配置文件,那么如何从自定义的配置文件中取值呢?

只需要在启动类上标注 @PropertySource 并指定你自定义的配置文件即可完成。

@SpringBootApplication@PropertySource(value = {"classpath:custom.properties"})public class DemoApplication{ }

value属性是一个数组,可以指定多个配置文件同时引入。@PropertySource默认加载xxx.properties类型的配置文件,不能加载YML格式的配置文件。

如何加载自定义YML格式的配置文件?

@PropertySource注解有一个属性 factory ,默认值是PropertySourceFactory.class,这个就是用来加 载properties格式的配置文件,我们可以自定义一个用来加载 YML 格式的配置文件,如下:

import org.springframework.beans.factory.config.YamlPropertiesFactoryBean;import org.springframework.core.env.PropertiesPropertySource;import org.springframework.core.env.PropertySource;import org.springframework.core.io.support.DefaultPropertySourceFactory;import org.springframework.core.io.support.EncodedResource;import java.io.IOException;import java.util.Properties;public class YmlConfigFactory extends DefaultPropertySourceFactory {    @Override    public PropertySource<?> createPropertySource(String name, EncodedResource resource) throws            IOException {        String sourceName = name != null ? name : resource.getResource().getFilename();        if (!resource.getResource().exists()) {            return new PropertiesPropertySource(sourceName, new Properties());        } else if (sourceName.endsWith(".yml") || sourceName.endsWith(".yaml")) {            Properties propertiesFromYaml = loadYml(resource);            return new PropertiesPropertySource(sourceName, propertiesFromYaml);        } else {            return super.createPropertySource(name, resource);        }    }    private Properties loadYml(EncodedResource resource) throws IOException {        YamlPropertiesFactoryBean factory = new YamlPropertiesFactoryBean();        factory.setResources(resource.getResource());        factory.afterPropertiesSet();        return factory.getObject();    }}

此时只需要将 factory 属性指定为 YmlConfigFactory 即可,如下:

@SpringBootApplication@PropertySource(value = {"classpath:custom.yml"}, factory = YmlConfigFactory.class)public class DemoApplication { }

@PropertySource 指定加载自定义的配置文件,默认只能加载 properties 格式,但是可以指定 factory 属 性来加载 YML 格式的配置文件。

关于“SpringBoot获取配置文件内容的方式有哪些”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注编程网精选频道,小编每天都会为大家更新不同的知识点。

--结束END--

本文标题: SpringBoot获取配置文件内容的方式有哪些

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

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

猜你喜欢
  • SpringBoot获取配置文件内容的方式有哪些
    这篇文章主要介绍“SpringBoot获取配置文件内容的方式有哪些”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“SpringBoot获取配置文件内容的方式有哪些”文章能帮助大家解决问题。前言现有配置...
    99+
    2023-07-05
  • SpringBoot获取配置文件内容的几种方式总结
    目录前言方法1:@ConfigurationProperties方法2:@Value如何从自定义配置文件中取值?如何加载自定义YML格式的配置文件?总结 前言 自从用了Sp...
    99+
    2023-02-22
    springboot 获取配置文件 spring boot配置文件 springboot加载配置文件
  • SpringBoot获取yml和properties配置文件的内容
    (一)yml配置文件:pom.xml加入依赖:<!-- 支持 @ConfigurationProperties 注解 --><!-- https://mvnrepository.com/artifact/org.sprin...
    99+
    2023-05-31
    springboot yml properties
  • .NETCore获取配置文件内容
    结合了好几个哥们的写法,最终我使用了这个版本,现在把我这个版本的写出来,如果该版本和您的版本类似或者一样,那可能是借鉴您的 using Microsoft.AspNetCore.Ho...
    99+
    2024-04-02
  • SpringBoot读取Yml配置文件的方法有哪些
    这篇“SpringBoot读取Yml配置文件的方法有哪些”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“SpringBoot读...
    99+
    2023-07-05
  • php读取文件内容的方法有哪些
    PHP读取文件内容的方法有以下几种:1. file_get_contents():该函数用于将整个文件内容读取到一个字符串中。可以接...
    99+
    2023-09-26
    php
  • golang读取文件内容的方法有哪些
    在 Golang 中,我们可以使用以下几种方法来读取文件的内容: 使用 ioutil 包中的 ReadFile 函数:使用 iou...
    99+
    2023-10-20
    golang
  • jmeter获取请求内容的方法有哪些
    JMeter提供了多种方法来获取请求内容。以下是常用的方法:1. 使用HTTP请求默认值:可以在测试计划中设置HTTP请求默认值,然...
    99+
    2023-08-15
    jmeter
  • springboot配置文件中使用${}注入值的方式有哪些
    这篇文章主要为大家展示了“springboot配置文件中使用${}注入值的方式有哪些”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“springboot配置文件中使用${}注入值的方式有哪些”这篇...
    99+
    2023-06-29
  • springboot配置文件读取pom文件信息方式
    目录配置文件读取pom文件信息解决的问题解决修改后的写法maven打包命令可能会出现的一些问题Pom文件依赖配置说明scope依赖范围配置文件读取pom文件信息 解决的问题 spri...
    99+
    2024-04-02
  • C#获取XML文件内容的多种方式总结
    目录C#获取XML文件内容的方式一、读取外部的XML文件方法二、读取内部XML文件方法三、读取类库中XML文件的方法四、读取程序内添加的外部可见的XML文件总结C#获取XML文件内容...
    99+
    2023-01-28
    C# XML文件 C#获取XML文件 C#获取XML方式
  • 在C++中获取文件大小的方式有哪些
    这篇文章给大家介绍在C++中获取文件大小的方式有哪些,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。C++获取文件大小代码示例:#include < iostream> #inc...
    99+
    2023-06-06
  • SpringBoot 属性配置中获取值的方式
    目录SpringBoot 属性配置中获取值首先,定义一个实体类去写属性测试和生产区分SpringBoot 获取值和配置文件1、@ConfigurationProperties(pre...
    99+
    2024-04-02
  • 获取cookie的方式有哪些
    今天小编给大家分享一下获取cookie的方式有哪些的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一...
    99+
    2024-04-02
  • 获取connectionString的方式有哪些
    获取connectionString的方式有以下几种:1. 从配置文件中获取:可以在应用程序的配置文件(如app.config或we...
    99+
    2023-08-14
    connectionString
  • python读取文本内容的方法有哪些
    在Python中,读取文本内容的方法有以下几种: 使用open()函数打开文件并读取内容: with open('fi...
    99+
    2024-04-02
  • Spring Boot读取配置文件内容的3种方式(@Value、Environment和@ConfigurationProperties)
    目录前言一、@Value二、Environment2.1 注入对象2.2 调用获取属性的方法2.3 上述两种方法对比三、@ConfigurationProperties3.1 创建一...
    99+
    2023-01-04
    springboot中读取配置文件 spring boot读取配置文件 springboot如何读取配置文件
  • C++读取文件的方式有哪些
    这篇文章主要讲解了“C++读取文件的方式有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C++读取文件的方式有哪些”吧!C++可以根据不同的目的来选取文件的读取方式,目前为止学习了C++...
    99+
    2023-07-05
  • SpringBoot读取yml文件有哪几种方式
    这篇文章主要介绍了SpringBoot读取yml文件有哪几种方式,具有一定借鉴价值,需要的朋友可以参考下。下面就和我一起来看看吧。Spring Boot读取yml文件的主要方式有以下几种:1.@Value注解我们可以在bean的属性上使用@...
    99+
    2023-07-06
  • SpringBoot中下载文件的方式有哪些
    这篇文章将为大家详细讲解有关SpringBoot中下载文件的方式有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。文件来源这里还是以GridFS为例,主要演示的还是从mongo下载下来的文件,如果是本地...
    99+
    2023-06-21
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作