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

Spring Boot读取配置文件报错:无法自动装配,找不到'int'类型Bean

问题解决:Spring Boot配置注入报错"Could not autowire. No beans of 'int' type found"

问题根源

你的LimitConfiguration类仅定义了带参数的构造函数,Spring容器创建该类Bean时会优先尝试用这个构造函数实例化对象,但构造函数所需的int类型参数在容器中不存在对应Bean,因此抛出找不到int类型Bean的错误。同时@ConfigurationProperties注解依赖无参构造函数+Setter方法完成配置属性注入,缺少无参构造会导致Spring无法正常实例化Bean并注入属性。

解决方法

给LimitConfiguration添加无参构造函数,若不需要手动实例化该类,也可直接替换掉带参数的构造函数:

修改后的LimitConfiguration代码:

@Component
@ConfigurationProperties("limits-service")
public class LimitConfiguration {
    private int minimum;
    private int maximum;

    // 添加无参构造函数
    public LimitConfiguration() {
    }

    // 可选:保留带参构造(仅当需要手动创建实例时)
    public LimitConfiguration(int minimum, int maximum) {
        this.minimum = minimum;
        this.maximum = maximum;
    }

    public int getMinimum() { return minimum; }
    public void setMinimum(int minimum) { this.minimum = minimum; }
    public int getMaximum() { return maximum; }
    public void setMaximum(int maximum) { this.maximum = maximum; }
}

补充说明

  • Spring通过@ConfigurationProperties注入属性的流程是:先调用无参构造创建Bean实例,再通过Setter方法将配置文件中的值赋值给对应字段。
  • 若无需手动创建LimitConfiguration实例,可直接删除带参数的构造函数,仅保留无参构造和Setter方法,更符合Spring属性注入规范。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 01:40:25