我是靠谱客的博主 凶狠耳机,最近开发中收集的这篇文章主要介绍坑:@ConfigurationProperties 获取不到配置文件属性值,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

application.yml
在这里插入图片描述
配置类

@Component
@ConfigurationProperties(prefix = "system")
public class 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 addressEnabled;

    public static String getName() {
        return name;
    }

    public void setName(String name) {
        SystemConfig.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 getWinUploadPath() {
        return winUploadPath;
    }

    public static void setWinUploadPath(String winUploadPath) {
        SystemConfig.winUploadPath = winUploadPath;
    }

    public static String getOtherUploadPath() {
        return otherUploadPath;
    }

    public static void setOtherUploadPath(String otherUploadPath) {
        SystemConfig.otherUploadPath = otherUploadPath;
    }

    public static boolean isAddressEnabled() {
        return addressEnabled;
    }

    public void setAddressEnabled(boolean addressEnabled) {
        SystemConfig.addressEnabled = addressEnabled;
    }

    /**
     * 判断当前操作系统,返回相应的本地上传路径
     *
     * @return String
     * @author Liangyixiang
     * @date 2021/11/15
     **/
    public static String getUploadPath() {
        OsInfo osInfo = SystemUtil.getOsInfo();
        // 判断系统环境获取上传路径
        if(ObjectUtils.isNotEmpty(osInfo) && osInfo.isWindows()){
            return getWinUploadPath();
        }else{
            return getOtherUploadPath();
        }
    }


    /**
     * 获取业务系统名称
     */
    public static String getSystemName() {
        return getName();
    }

}

name、addressEnabled 以及 winUploadPath、otherUploadPath 都是静态的成员变量,但是他们name、addressEnabled能获取到配置文件的值,winUploadPath、otherUploadPath不可以。
原因就是: winUploadPath、otherUploadPath对应的ser方法也定义为了静态方法。

最后

以上就是凶狠耳机为你收集整理的坑:@ConfigurationProperties 获取不到配置文件属性值的全部内容,希望文章能够帮你解决坑:@ConfigurationProperties 获取不到配置文件属性值所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(34)

评论列表共有 0 条评论

立即
投稿
返回
顶部