场景

在SpringBoot后台项目中,某些固定的属性需要配置在配置文件application.yml中。

比如上传到服务器的文件路径。

然后在其他业务代码中比如上传文件接口中需要或者到配置的这个属性值。

注:

博客:
https://blog.csdn.net/badao_liumang_qizhi
关注公众号
霸道的程序猿
获取编程相关电子书、教程推送与免费下载。

实现

首先在application.yml中添加配置

ruoyi:# 名称name: RuoYi# 版本version: 2.3.0# 版权年份copyrightYear: 2019# 实例演示开关demoEnabled: true# 文件路径 示例( Windows配置D:/ruoyi/uploadPath,Linux配置 /home/ruoyi/uploadPath)profile: D:/ruoyi/uploadPath

比如这里的ruoyi下的profile的属性值

D:/ruoyi/uploadPath

怎样在代码中获取。

首先在SpringBoot项目目录下新建config目录,然后新建配置类RuoYiConfig,名字随意

然后在配置类上添加注解

@Component
@ConfigurationProperties(prefix = "ruoyi")
public class RuoYiConfig

注意这里的prefix属性值与上面配置文件的根元素一致

然后配置类中的属性与配置文件根节点下的名称一致 ,配置类完整代码

import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;/*** 读取项目相关配置**/
@Component
@ConfigurationProperties(prefix = "ruoyi")
public class RuoYiConfig
{/** 项目名称 */private String name;/** 版本 */private String version;/** 版权年份 */private String copyrightYear;/** 实例演示开关 */private boolean demoEnabled;/** 上传路径 */private static String profile;public String getName(){return name;}public void setName(String name){this.name = name;}public String getVersion(){return version;}public void setVersion(String version){this.version = version;}public String getCopyrightYear(){return copyrightYear;}public void setCopyrightYear(String copyrightYear){this.copyrightYear = copyrightYear;}public boolean isDemoEnabled(){return demoEnabled;}public void setDemoEnabled(boolean demoEnabled){this.demoEnabled = demoEnabled;}public static String getProfile(){return profile;}public void setProfile(String profile){RuoYiConfig.profile = profile;}/*** 获取上传路径*/public static String getUploadPath(){return getProfile();}
}

这里的配置类的

private static String profile;

就能获取到application.yml中配置的profile的属性值了。

为了或此属性值更加便捷,又新增了一个静态方法

    public static String getUploadPath(){return getProfile();}

这样就能通过类直接调用方法。

然后还拼接了一层目录。这样通过

RuoYiConfig.getUploadPath();

获取的路径就是

D:/ruoyi/uploadPath

除了额外封装一层静态类的方式。也可以在需要引用的地方使用注解自动引用配置类

    @Autowiredprivate RuoYiConfig ruoYiConfig

然后获取其属性

ruoYiConfig.getProfile();

SpringBoot中通过ConfigurationProperties注解的方式读取application.yml中配置的属性值相关推荐

  1. springboot log4j2.xml读取application.yml中的属性值

    注意:部份代码太长,可以通过文末的图片快速查看对应位置 项目需求 用户想自己配置日志存放的位置,因此我们需要满足提供可以配置的文件,用以满足用户的需求. 因此,我们主要通过 log4j2.xml 来读 ...

  2. springboot yml怎么建常量_【Java】SpringBoot 中从application.yml中获取自定义常量

    由于这里我想通过java连接linux,connection连接需要host.port.username.password及其他路径等等.不想每次修改的时候都去改源文件,所以想写在applicatio ...

  3. 获取application.yml中的属性的方法

    @ConfigurationProperties(prefix = "girl") 获取application.yml 中的以girl为开头的配置属性 引用配置文件里的数据 @Va ...

  4. SpringMVC通过注解方式读取properties文件中的值

    为什么80%的码农都做不了架构师?>>>    本方法是结合Java配置及XML配置来完成. 首先定义XML配置文件 app.xml: <?xml version=" ...

  5. 在Spring Boot中使用 @ConfigurationProperties 注解

    @ConfigurationProperties根据类型校验和管理application中的bean. Spring Boot 使用一些松的规则来绑定属性到@ConfigurationProperti ...

  6. Tensorflow中使用tfrecord,队列方式读取数据

    博客地址:https://blog.csdn.net/liangjun_feng/article/details/79698809 标准TensorFlow格式 有一种保存记录的方法可以允许你讲任意的 ...

  7. 在Spring Boot中使用 @ConfigurationProperties 注解 (二十六)

    @ConfigurationProperties主要作用:就是绑定application.properties中的属性 java代码 @Configuration public class DataS ...

  8. SpringBoot+log4j2.xml读取application.yml属性值

    参考文章:SpringBoot+log4j2.xml使用application.yml属性值 1.创建Listener package com.cloud.config;import org.apac ...

  9. boot中jar包部署的方式读取classes下的文件

    下面的new File(String url)的方式在window中可以找到路径,但是单独部署jar文件时,获取到的URL路径是带有jar的 String infile = this.getClass ...

最新文章

  1. 【GStreamer】gstreamer工具详解之:ges-launch-1.0
  2. .net framework4.6项目的dll升级后,未找到方法“System.String.GetPathsOfAllDirectoriesAbove”解决
  3. docker入门及安装
  4. python爬虫应用实战-如何爬取表情进行斗图?丰富你的表情库
  5. 数字图像处理:第十七章 纹理分析
  6. 在学术发展上,不论困难与否,应该给自己一个清晰定位
  7. python re正则查找_python正则表达式 - re
  8. 循环的各种形式(不拘一格编程序之四)
  9. python 线程间通信之Condition, Queue
  10. cpython python 区别面试_python基础教程之千万不要错过这几道Python面试题
  11. R语言: 如何快速获取一个地方的气象数据?
  12. 特殊字符的html编码转化
  13. 使用MapReduce实现专利文件的分析
  14. Macropodus 新词发现详解(new word discovery, python3)
  15. 图的二种遍历-广度优先遍历和深度优先遍历
  16. 新手入门刷题(专题二)排序 (第一部分)
  17. Kruise Rollout:灵活可插拔的渐进式发布框架
  18. 实验三 使用CSS3
  19. 2015年8月25号申请入驻一点资讯自媒体平台
  20. python输入三角形的三条边、判断能否构成三角形_输入三角形三条边a,b,c,判断他们能否构成三角形...

热门文章

  1. pidstat 命令查看某个进程的CPU、内存、磁盘使用情况
  2. Spring bean注入之注解注入-- @Autowired原理
  3. apache dubbo 自定义全局统一的异常处理器
  4. 机器人演唱邓丽君是真的吗_体验官|炒菜机器人真的实用吗
  5. iqueryable怎么进行操作_钢结构施工要点有哪些?怎么进行操作?
  6. vue 请求多个api_vue 一个input同时请求两个接口
  7. vs与qt版本对应关系
  8. qemu模拟armlinux执行目标文件系统的可执行文件
  9. yii2 mysql save_Yii2 开发 MySQL 数据备份功能
  10. python加法怎么写_51NOD 大数加法以及python写法