Spring Boot 3.0.1冗余注解报错求助:@SpringBootApplication已包含相关注解
问题原因
@SpringBootApplication是Spring Boot的核心复合注解,它内部已经集成了@EnableAutoConfiguration、@ComponentScan和@Configuration三个注解的功能。你额外添加@EnableAutoConfiguration和@ComponentScan时,Spring会检测到重复声明了功能完全一致的注解,因此抛出冗余声明的错误。
解决办法
- 移除类上的@EnableAutoConfiguration和@ComponentScan注解,仅保留@SpringBootApplication即可。Spring Boot会通过该注解自动完成自动配置与组件扫描的工作,不影响原有PostgreSQL数据库连接和端口启动的功能。
- 若需自定义组件扫描范围,无需单独添加@ComponentScan,直接在@SpringBootApplication中配置
scanBasePackages属性,示例代码:
@SpringBootApplication(scanBasePackages = "com.example.your-target-package") public class YourApplication { public static void main(String[] args) { SpringApplication.run(YourApplication.class, args); } }
- 若需排除特定自动配置类,同样无需单独添加@EnableAutoConfiguration,使用@SpringBootApplication的
exclude属性即可,示例代码:
@SpringBootApplication(exclude = {SomeAutoConfiguration.class}) public class YourApplication { public static void main(String[] args) { SpringApplication.run(YourApplication.class, args); } }
内容的提问来源于stack exchange,提问作者Nimasha Madhushani
相关产品推荐
相关产品推荐

