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;
}

最后

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值