You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring Boot单例Bean修改属性后读取值仍为null问题咨询

问题原因

核心问题:路径参数未正确接收

你声明的@GetMapping("updateConfig/{value}")使用路径变量传参,但接口方法的String value参数没有添加@PathVariable注解,Spring MVC无法将URL中携带的参数值绑定到方法入参,导致执行testConfig.setValue(value)时传入的参数本身就是null,所以后续读取到的value始终为null。

潜在问题:注解使用错误

TestConfig类上标注的@Configuration是Spring配置类的专用注解,Spring会对标注该注解的类生成CGLIB代理,不适合用来作为承载自定义属性的普通业务Bean。

修复方案
  • 给updateConfig方法的参数添加@PathVariable注解,完成路径参数绑定:
@GetMapping("updateConfig/{value}")
public void updateConfig(@PathVariable String value) {
    testConfig.setValue(value);
}
  • 将TestConfig类上的@Configuration替换为@Component,符合普通单例Bean的使用规范:
@Data
@Component
public class TestConfig {
    private String value;
}

修改完成后重新测试即可,你对Spring单例Bean的认知是正确的,修改单例Bean的属性后全局注入的实例都会读取到更新后的值。

内容的提问来源于stack exchange,提问作者justAnotherDev

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 09:45:04