springboot读取自定义配置文件节点的方法

今天和大家分享的是自定义配置信息的读取;近期有写博客这样的计划,分别交叉来写springboot方面和springcloud方面的文章,因为springboot预计的篇章很多,这样cloud的文章就需要等到很后面才能写了;分享这两种文章的原因主要是为了方便自己查找资料使用和对将要使用的朋友起到便捷作用;

•@Value标记读取(默认可直接读取application.yml的节点)
•实体映射application.yml的节点
•实体映射自定义配置文件的节点
•实体映射多层级节点的值

@Value标记读取(默认可直接读取application.yml的节点)

  首先在默认application.yml配置文件中自定义如下节点信息:

 shenniu:
 name: 神牛003

  然后通过@Value标记来直接获取属性值,为了更好的展示数据到界面上定义了一个/conf/name接口:

@Value("${shenniu.name}")
  private String name;

  @GetMapping("/conf/defname")
  public String getDefName() {
    return this.name;
  }

  运行后效果如:

实体映射application.yml的节点

  要用实体类映射出默认配置文件值,仅仅只需要加一个属性名称前缀就行了,当然这仅仅针对于application.yml默认文件里面的属性:

@Configuration
@ConfigurationProperties(prefix = "shenniu")
public class ShenniuConf {
  private String name;
  public String getName() {
    return name;
  }
  public void setName(String name) {
    this.name = name;
  }
  private Url url;
  public Url getUrl() {
    return url;
  }
  public void setUrl(Url url) {
    this.url = url;
  }
  private String des;
  public String getDes() {
    return des;
  }
  public void setDes(String des) {
    this.des = des;
  }
  public static class Url {
    private String blogurl;
    public String getBlogurl() {
      return blogurl;
    }
    public void setBlogurl(String blogurl) {
      this.blogurl = blogurl;
    }
  }
}

  实体类我多增加了几个属性,为了后面测试方便;要对application.yml做配置映射只需要加上 @ConfigurationProperties(prefix = "shenniu") 标记,prefix的值对应自定义配置文件属性的前缀;这里增加/conf/name接口输出映射出对象的值:

 @Autowired
   private ShenniuConf shenniuConf;
   @GetMapping("/conf/name")
   public String getName() {
     return shenniuConf.getName();
   }

  同样得到了和@Values注解一样的效果,这就表示实体和配置文件自定义属性匹配成功了,主要实体属性名称应该和配置文件节点名称保持一致;

实体映射自定义配置文件的节点

  读取application.yml中属性值很简单,有时候需要自定义自己的配置文件,如这里我的my.properties,文件内容如下:

shenniu.des=我爱祖国
 shenniu.url.blogurl=http://www.a.com

  映射的实体还是用上面的,不过实体上需要增加注解 @PropertySource("classpath:my.properties") 表示自定义文件源,并且同样需要prefix来指定节点前缀;我们增加如下展示接口:

 @Autowired
   private ShenniuConf shenniuConf;
   @GetMapping("/conf/des")
   public String getDes() {
     return shenniuConf.getDes();
  }

实体映射多层级节点的值

  通常自定义配置节点都有层级关系,那我们实体有怎么来获取到不同层级的属性值呢,事实上只需要在实体类里面通过类层级关系来表示就行了,如上面ShenniuConf实体里面的Url实体类属性;

  这里添加一个测试接口:

   @Autowired
   private ShenniuConf shenniuConf;
   @GetMapping("/conf/myconf")
  public ShenniuConf getBlogurl() {
     return shenniuConf;
   }

  不出意外能得到如下结果:

  

git地址: https://github.com/shenniubuxing3    nuget发布包:https://www.nuget.org/profiles/shenniubuxing3

总结

以上所述是小编给大家介绍的springboot读取自定义配置文件节点的方法,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

(0)

相关推荐

  • Springboot读取配置文件及自定义配置文件的方法

    1.创建maven工程,在pom文件中添加依赖 <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.5.9.RELEASE</version> </parent> <dependencies> <dependency

  • 详解Springboot配置文件的使用

    如果使用IDEA创建Springboot项目,默认会在resource目录下创建application.properties文件,在springboot项目中,也可以使用yml类型的配置文件代替properties文件 一.单个的获取配置文件中的内容 在字段上使用@Value("${配置文件中的key}")的方式获取单个的内容 1.在resource目录下创建application.yml文件,并添加一些配置,在yml文件中,key:后面需要添加一个空格,然后是value值,假设配置如

  • springboot 文件上传大小配置的方法

    springboot上传文件大小的配置我这里记录两种,一种是设置在配置文件里只有两行代码,一种是加个Bean 首先第一种: application.properties中添加 spring.http.multipart.maxFileSize=10Mb spring.http.multipart.maxRequestSize=10Mb maxFileSize 是单个文件大小 maxRequestSize是设置总上传的数据大小 这就可以了. 根据自己需求定义吧,Mb和Kb都可以,大小写也都随意,L

  • spring boot加载第三方jar包的配置文件的方法

    前言 今天收到一封邮件,大概内容如下:spring boot鼓励去配置化,那么怎么将第三方jar包中的xml去配置化了? 其实,这个问题,在前面的文章中也有提到,http://www.jb51.net/article/125700.htm 下面,我们就以Quartz定时任务为例,单独对这个问题来进行说明,如何实现去配置化. 如果不使用spring boot,我们配置一个简单的定时任务时,需要引入以下配置文件: <!-- 配置需要定时执行的任务类以及方法 --> <bean id=&quo

  • SpringBoot获取yml和properties配置文件的内容

    (一)yml配置文件: pom.xml加入依赖: <!-- 支持 @ConfigurationProperties 注解 --> <!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-configuration-processor --> <dependency> <groupId>org.springframework.boot</groupId>

  • 详解spring boot starter redis配置文件

    spring-boot-starter-Redis主要是通过配置RedisConnectionFactory中的相关参数去实现连接redis service. RedisConnectionFactory是一个接口,有如下4个具体的实现类,我们通常使用的是JedisConnectionFactory. 在spring boot的配置文件中redis的基本配置如下: # Redis服务器地址 spring.redis.host=192.168.0.58 # Redis服务器连接端口 spring.

  • 在SpringBoot下读取自定义properties配置文件的方法

    SpringBoot工程默认读取application.properties配置文件.如果需要自定义properties文件,如何读取呢? 一.在resource中新建.properties文件 在resource目录下新建一个config文件夹,然后新建一个.properties文件放在该文件夹下.如图remote.properties所示 二.编写配置文件 remote.uploadFilesUrl=/resource/files/ remote.uploadPicUrl=/resource

  • 详解Spring Boot加载properties和yml配置文件

    一.系统启动后注入配置 package com.example.config; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.PropertySource; import org.springframewo

  • springboot读取自定义配置文件节点的方法

    今天和大家分享的是自定义配置信息的读取:近期有写博客这样的计划,分别交叉来写springboot方面和springcloud方面的文章,因为springboot预计的篇章很多,这样cloud的文章就需要等到很后面才能写了:分享这两种文章的原因主要是为了方便自己查找资料使用和对将要使用的朋友起到便捷作用: •@Value标记读取(默认可直接读取application.yml的节点) •实体映射application.yml的节点 •实体映射自定义配置文件的节点 •实体映射多层级节点的值 @Valu

  • SpringBoot实现自定义配置文件提示的方法

    SpringBoot如何实现自定义配置文件提示 我们在使用SpringBoot开发项目时,常常需要编写一些属性配置类,用来完成自定义或特定的属性配置.在我们配置application.properties时,IDEA会自动提示框架的相关配置,但是我们自己编写的特定的属性配置却不会自动提示.本文介绍了相关的插件,可以实现自定义配置文件的属性提示 1.编写一个配置类 我们编写一个配置类 Person /** * @author zhang_wei * @version 1.0.0 * @Classn

  • SpringBoot读取自定义配置文件方式(properties,yaml)

    目录 一.读取系统配置文件application.yaml 二.读取自定义配置文件properties格式内容 三.读取自定义配置文件yaml格式内容 四.其他扩展内容 一.读取系统配置文件application.yaml 1.application.yaml配置文件中增加一下测试配置 testdata: animal: lastName: 动物 age: 18 boss: true birth: 2022/02/22 maps: {key1:value1,key2:value2} list:

  • springboot读取自定义配置文件时出现乱码解决方案

    目录 网上提供的解决方案也不外乎这几种 方案一 方案二 方案三 方案四 方案五 方案六 这是入门的第三天了,从简单的hello spring开始,已经慢慢接近web的样子.接下来当然是读取简单的对象属性了. 于是按照网上各位大神教的,简单写了个对象book,其他配置不需要做任何改动. package com.example.bean; import org.springframework.beans.factory.annotation.Value; import org.springframe

  • SpringBoot读取外部配置文件的方法

    1.SpringBoot配置文件 SpringBoot使用一个以application命名的配置文件作为默认的全局配置文件.支持properties后缀结尾的配置文件或者以yml/yaml后缀结尾的YAML的文件配置. 以设置应用端口为例 properties文件示例(application.properties): server.port=80 YAML文件示例(application.yml): server: port: 80 在properties和yml/yaml配置文件同时存在的情况

  • SPRINGBOOT读取PROPERTIES配置文件数据过程详解

    这篇文章主要介绍了SPRINGBOOT读取PROPERTIES配置文件数据过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 一.使用@ConfigurationProperties来读取 1.Coffer entity @Configuration @ConfigurationProperties(prefix = "coffer") @PropertySource("classpath:config/coffer.p

  • Spring Boot读取自定义配置文件

    @Value 首先,会想到使用@Value注解,该注解只能去解析yaml文件中的简单类型,并绑定到对象属性中去. felord:   phone: 182******32   def:     name: 码农小胖哥     blog: felord.cn     we-chat: MSW_623   dev:     name: 码农小胖哥     blog: felord.cn     we-chat: MSW_623   type: JUEJIN 对于上面的yaml配置,如果我们使用@Va

  • Springboot实现自定义错误页面的方法(错误处理机制)

    一般我们在做项目的时候,错误机制是必备的常识,基本每个项目都会做错误处理,不可能项目一报错直接跳到原始报错页面,本篇博客主要针对springboot默认的处理机制,以及自定义错误页面处理进行讲解,需要的朋友们下面随着小编来一起学习学习吧! 默认效果示例 springboot他是有自己默认的处理机制的.在你刚创建一个springboot项目去访问一个没有的路径会发现他是会弹出来这样的信息. 而我们用postman直接接口访问,会发现他返回的不再是页面.默认响应一个json数据 这时候该有人在想,s

  • springboot读取nacos配置文件的实现

    目录 首先,Nacos 的配置文件如下 第一种方式来解析 第二种方式来解析 SpringBoot 注册服务到 Nacos 上,由 Nacos 来做服务的管理.在 Nacos的配置列表中,管理着服务的配置文件.SpringBoot 有两种方式来读取配置文件的内容,一种是写配置文件类 @ConfigurationProperties ,一种是使用 @Value 注解. 首先,Nacos 的配置文件如下 ### 配置文件使用 yml 格式, 也可以使用 properties 格式,最终 yml 格式会

  • Springboot 读取自定义pro文件注入static静态变量方式

    Springboot 读取pro文件注入static静态变量 mailConfig.properties #服务器 mail.host=smtp.qq.com #端口号 mail.port=587 #邮箱账号 mail.userName=hzy_daybreak_lc@foxmail.com #邮箱授权码 mail.passWord=vxbkycyjkceocbdc #时间延迟 mail.timeout=25000 #发送人 mail.emailForm=hzy_daybreak_lc@foxm

随机推荐