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

Spring Boot中@Autowired注解无法生效的问题排查求助

Spring Boot @Autowired注解不生效问题排查方案
  • 检查启动类扫描范围
    确认启动类上的@SpringBootApplication默认扫描的同包及子包是否覆盖了你的Service、Repository类所在目录。如果组件类放在启动类包的上层,需要手动添加@ComponentScan(basePackages = "你的组件根包路径")指定扫描范围。如果使用MyBatis/MyBatis-Plus,必须在启动类添加@MapperScan("你的Mapper接口所在包路径"),否则持久层接口不会被实例化为Spring Bean,无法注入。
  • 检查组件注解是否正确
    Service实现类必须添加@Service注解,Spring Data JPA的Repository接口需要继承JpaRepository并添加@Repository注解,MyBatis的Mapper接口需要添加@Mapper注解或者通过@MapperScan统一扫描。没有对应注解的类不会被Spring容器识别,自然无法完成注入。
  • 检查类的实例化方式
    如果你在代码中手动new了需要依赖注入的类(比如Service、Controller实例),手动实例化的对象不受Spring容器管理,内部的@Autowired字段不会被自动赋值,会出现空指针或找不到Bean的错误。
  • 检查依赖是否完整
    确认pom.xml中引入了对应场景的starter依赖,比如Spring Web starter、持久层对应的MyBatis/MyBatis-Plus starter或Spring Data JPA starter,缺少对应依赖会导致组件无法被自动代理注册到容器中。
  • 检查注入类型匹配规则
    如果你@Autowired注入的是接口,要确认容器中只有一个该接口的实现类,否则需要搭配@Qualifier("实现类Bean名称")指定要注入的实例,否则会出现类型匹配冲突,导致注入失败。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 07:36:07