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

Spring Boot 2.5.3版本@ConfigurationProperties注解无法导入问题咨询

Spring Boot 2.5.3版本使用@ConfigurationProperties的解决方案

你遇到的问题核心是Spring Boot依赖版本不统一,具体原因如下:
你的项目父依赖是自定义的test-lib,并未继承官方的spring-boot-starter-parent,所有Spring Boot官方starter(如spring-boot-starter-web、spring-boot-starter-security)的版本均继承自你自定义父依赖中的配置,而你单独为org.springframework.boot:spring-boot依赖指定了2.5.3版本,导致Spring Boot核心包和其他starter依赖的版本不匹配、类结构不一致,因此找不到ConfigurationProperties类。切换到2.4.0后刚好和父依赖中的starter版本对齐,因此可以正常使用。


步骤1:统一Spring Boot所有依赖版本

在当前项目的pom.xml中新增dependencyManagement节点,导入Spring Boot 2.5.3的全局依赖管理,所有Spring Boot相关组件的版本会自动统一,无需单独指定:

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-dependencies</artifactId>
            <version>2.5.3</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

如果你可以修改自定义的test-lib父依赖,建议将上述配置放到父依赖的dependencyManagement中,所有子项目都可以共用统一的版本规则。


步骤2:配置@ConfigurationProperties的生效规则

Spring Boot 2.2及以上版本,要让标注了@ConfigurationProperties的类被容器识别并注入配置,可任选以下一种方式:

  • 在配置类上额外添加@Component/@Configuration注解,配合项目的组件扫描自动注册
  • 在启动类/配置类上添加@EnableConfigurationProperties(你的配置类.class)注解,主动注册指定的配置类
  • 在启动类上添加@ConfigurationPropertiesScan("配置类所在包路径")注解,自动扫描指定包下的所有配置类,无需额外添加其他注解

补充说明

你当前依赖中引入的spring-boot-configuration-processor是编译期的注解处理器,仅用于生成配置的IDE提示元数据,不影响@ConfigurationProperties注解本身的导入和使用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 10:06:03