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

SpringBoot启动报错:NoSuchBeanDefinitionException找不到User_Repository Bean

解决SpringBoot中NoSuchBeanDefinitionException找不到User_Repository的问题

问题现象

运行SpringBoot应用时抛出异常:

Exception in thread "main" org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'com.JPA.Dao.User_Repository' available
at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBean(DefaultListableBeanFactory.java:341)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBean(DefaultListableBeanFactory.java:332)
at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1150)
at com.JPA.springboot.BootJpAexampleApplication.main(BootJpAexampleApplication.java:20)

应用主类代码:

@SpringBootApplication
public class BootJpAexampleApplication {
    public static void main(String[] args) {
        ApplicationContext context=SpringApplication.run(BootJpAexampleApplication.class, args);
        User_Repository userRepository = context.getBean(User_Repository.class);
        User userEntity = new User();
        
        userEntity.setNameString("Kumar ");
        userEntity.setCity("RSA");
        userEntity.setStatus("I m java developer..");
        
        User save= userRepository.save(userEntity);
        System.out.println(save);
    }
}

解决方法

  • 规范Repository接口定义:确保User_Repository继承Spring Data JPA提供的基础Repository接口(如JpaRepository),可显式添加@Repository注解:
    @Repository
    public interface User_Repository extends JpaRepository<User, Long> {
        // 自定义业务方法
    }
    
  • 调整包扫描范围:主类BootJpAexampleApplication位于com.JPA.springboot包,而User_Repository在com.JPA.Dao包,默认扫描范围不包含该包,需手动指定:
    方式一:扩展@SpringBootApplication的扫描包
    @SpringBootApplication(scanBasePackages = {"com.JPA.springboot", "com.JPA.Dao"})
    public class BootJpAexampleApplication {
        // 主类代码
    }
    
    方式二:使用@EnableJpaRepositories指定Repository所在包
    @SpringBootApplication
    @EnableJpaRepositories(basePackages = "com.JPA.Dao")
    public class BootJpAexampleApplication {
        // 主类代码
    }
    
  • 校验依赖完整性:确保项目依赖中包含Spring Data JPA和对应数据库驱动,Maven示例:
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-jpa</artifactId>
    </dependency>
    <!-- MySQL驱动示例 -->
    <dependency>
        <groupId>com.mysql</groupId>
        <artifactId>mysql-connector-j</artifactId>
        <scope>runtime</scope>
    </dependency>
    
  • 检查实体类配置:确保User实体类添加@Entity注解,且主键字段标注@Id:
    @Entity
    public class User {
        @Id
        @GeneratedValue(strategy = GenerationType.IDENTITY)
        private Long id;
        private String nameString;
        private String city;
        private String status;
        
        // 构造方法、getter、setter
    }
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 15:22:16