首页 > 作文

Java如何使用ConfigurationProperties获取yml中的配置

更新时间:2023-04-05 01:28:41 阅读: 评论:0

目录
使用configurationproperties获取yml的配置使用方法@configurationproperties获取不到配置文件属性值问题原因就是

使用configurationproperties获取yml的配置

我们在开发过程中,会经常遇到需要自定义配置的场景,比如配置一个ip,一个地址等,并将其写入到yml文件中,在项目中使用@value(“${xxxx.xxxx}”)来获取自定义的配置,其实是这样是有些笨重的,每定义一个配置,都需要写一个@value来获取,那为啥不使用一个java config来统一获取配置呢?

使用方法

编写yml配置文件

ur:  config:    # ur_name ur-name urname这三种配置方式都可以被识别到    ur_name: "zhangsan"    age: "20"    exmail: "123@123.com"    address: "火星"

编写java config类

// 需要重写get与t方法,此处使用lombok注解来代替@data// 实例化到spring容器中@component// 获取前赞美老师的诗句缀为ur.config的配置信息,与该类下的属性对比,进行绑定@configurationproperties(prefix = "ur.config")public class urconfig {    private string urname;    private string age;    private string exmail;    private string address;}

在需要使用的地方注入

    @resource    private urconfig urconfig;

测试

@configurationproperties获取不到配置文件属性值问题

application.yml

配置类

@component@configurationproperties(prefix = "system")public cla新年送礼ss systemconfig {    /**     * 项目名称     */    private static string name;    /**     * 版本     */    private string version;    /**     * 版权年份     */    private string copyrightyear;    /**     * 实例演示开关     */    private boolean demoenabled;    /**     * windows环境下,文件上传路径(本地上传)     */    private static string winuploadpath;    /**     * 其他系统环境(linux、mac...)环境下,文件上传路径(本地上传)     */    private static string otheruploadpath;    /**     * 获取地址开关     */    private static boolean addresnabled;    public static string getname() {        return name;    }    public void tname(string name) {        systemconfig.name = name;    }    public string getversion() {        return version;    }    public void tversion(string version) {        this.version = version;    }    public string getcopyrightyear() {        return copyrightyear;    }    public void tcopyrightyear(string copyrightyear) {        this.copyrightyear = copyrightyear;    }    public boolean isdemoenabled() {        return demoenabled;    }    public void tdemoenabled(boolean demoenabled) {        this.demoenabled = demoenabled;    }    public static string getwinuploadpath() {        return winuploadpath;    }    public static void twinuploadpath(string winuploadpath) {        systemconfig.winuploadpath = winuploadpath;    }    public static string getotheruploadpath() {        return otheruploadpath;    }    public static void totheruploadpath(string otheruploadpath) {        systemconfig.otheruploadpath = otheruploadpath;    }    public static boolean isaddresnabled() {  阿木古郎      return addresnabled;    }    public void taddresnabled(boolean addresnabled) {        systemconfig.addresnabled = addresnabled;    }    /**     * 判断当前操作系统,返回相应的本地上传路径     *     * @return string     * @author liangyixiang     * @date 2021/11/15     **/    public static string getuploadpath() {        osinfo osinfo = systemutil.getosinfo();        // 判断系统环境获取上传路径        if(objectutils.isnotempty(osinfo) && osinfo.iswindows()){            return getwinuploadpath();        }el地球的内部结构{            return getotheruplobdrxadpath();        }    }    /**     * 获取业务系统名称     */    public static string getsystemname() {        return getname();    }}

name、addresnabled 以及 winuploadpath、otheruploadpath 都是静态的成员变量,但是他们name、addresnabled能获取到配置文件的值,winuploadpath、otheruploadpath不可以。

原因就是

winuploadpath、otheruploadpath对应的r方法也定义为了静态方法。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持www.887551.com。

本文发布于:2023-04-05 01:28:40,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/zuowen/b62d5ef52f1c06451cdadabb04078348.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:Java如何使用ConfigurationProperties获取yml中的配置.doc

本文 PDF 下载地址:Java如何使用ConfigurationProperties获取yml中的配置.pdf

标签:路径   上传   环境   自定义
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图