Spring配置文件新加的配置不生效

文章目录

简介

在spring项目的yml配置文件中新加了一个自定义属性,结果在Global全局配置中获取不到值, 经过两个多小时, 踩坑发现是粗心大意造成的

相关代码

# 项目相关配置
project:
  # 名称
  name: project name
  # 版本
  version: 1.1.0
  # 文件路径前缀 
  filePrefix: http://localhost:8080
/**
 * 全局配置类
 * @author admin
 */
@Component
@ConfigurationProperties(prefix = "project")
public class Global
{
    /** 名称 */
    private static String name;
	/** 版本 */
    private static String version;
    /** 文件路径前缀 */
    private static String filePrefix;
    
    public static String getName()
    {
        return name;
    }

    public void setName(String name)
    {
        Global.name = name;
    }

    public static String getVersion()
    {
        return version;
    }

    public void setVersion(String version)
    {
        Global.version = version;
    }
    public static String getFilePrefix()
    {
        return filePrefix;
    }

	public static void setFilePrefix(String filePrefix)
	{
	    Global.filePrefix = filePrefix;
	}

}

期间我用IDE Generate -> getter setter生成 filePrefix 的get,set方法, 坑就在这了, 常规思维会认为这样没错, 但我忽视 filePrefix是一个静态变量, setter方法静态的spring无法自动注入值.

所以这里应该把setFilePrefix方法的static去掉

public void setFilePrefix(String filePrefix)
{
	Global.filePrefix = filePrefix;
}

最后

代码开发还需细心耐心, 一个粗心小问题最是折磨人, 希望大家少踩坑

发布了2 篇原创文章 · 获赞 1 · 访问量 108

猜你喜欢

转载自blog.csdn.net/u013456393/article/details/105763842