错误:

在Springboot  框架中使用JPA的过程中,怎么来实现数据库操作底层的交互呢?Spring JPA其实已经提供了一套很全面的解决方案,实现对数据库的增、删、查、改只需要继承JPA实现类:

org.springframework.data.jpa.repository.query.SimpleJpaRepository

或者直接继承JPA提供的接口:

org.springframework.data.jpa.repository.JpaRepository
org.springframework.data.jpa.repository.CrudRepository

使用实现类:SimpleJpaRepository时,本人觉得并不是很方便,不如使用其扩展出来的接口方便。但是在使用接口的过程中,遇到了一个问题,如下:

    No qualifying bean of type 'xxx.xxx.xxx' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}
    或:
    Not a managed type: class xxx.xxx.xxx
其实导致这个异常的原因很简单,就是因为Springboot未能正常将其扫描并没注入到容器中。而且一般在使用Springboot的初始框架中,启动类位置于所有Service,Entity,Controller或者其它类的最上层的话,这个问题很少会出现。

解决方案:

方案一、把 @SpringBootApplication 注解的 SpringBoot 入口类移到上层 root 包中,使 JpaRepository 子接口位于 root 包及其子包中。

方案二、在 SpringBoot 入口类上添加

(1) @ComponentScan(basePackages = "xxx.xxx.xxx"):扫描 @Controller、@Service 注解;
    (2) @EnableJpaRepositories(basePackages = "xxx.xxx.xxx"):扫描 @Repository 注解;
    (3) @EntityScan(basePackages = "xxx.xxx.xxx"):扫描 @Entity 注解;

https://blog.csdn.net/u011659172/article/details/51537602

https://blog.csdn.net/zhongzh86/article/details/54313706

https://blog.csdn.net/andy_zhang2007/article/details/84064862

SpringBoot JPA 中无法注入 JpaRepository 接口的问题及解决方案的更多相关文章

  1. Spring Boot + JPA 多模块项目无法注入 JpaRepository 接口

    问题描述 Spring Boot + JPA 多模块项目,启动报异常: nested exception is org.springframework.beans.factory.NoSuchBean ...

  2. SpringBoot应用中使用AOP记录接口访问日志

    SpringBoot应用中使用AOP记录接口访问日志 本文主要讲述AOP在mall项目中的应用,通过在controller层建一个切面来实现接口访问的统一日志记录. AOP AOP为Aspect Or ...

  3. 使用Spring JPA中Page、Pageable接口和Sort类完成分页排序

    显示时,有三个参数,前两个必填,第几页,一页多少个size,第三个参数默认可以不填. 但是发现这个方法已经过时了,通过查看它的源码发现,新方法为静态方法PageRequest of(page,size ...

  4. 在netcore中如何注入同一个接口的多个实现

    netcore中自带了Ioc框架,这也影响了我们的编码习惯,以前都是静态类或者直接new对象,现在有了Ioc框架的支持,我们也不必守旧,应当使用起来,接受这种对象管理方式.使用过java的同仁,都习惯 ...

  5. Spring Data JPA中CrudRepository与JpaRepository的不同

    使用Spring Data JPA CrudRepository 和JpaRepository 的好处: 继承这些接口,可以使Spring找到自定义的数据库操作接口,并生成代理类,后续可以注入到Spr ...

  6. 关于springboot项目中自动注入,但是用的时候值为空的BUG

    最近想做一些web项目来填充下业余时间,首先想到了使用springboot框架,毕竟方便 快捷 首先:去这里 http://start.spring.io/ 直接构建了一个springboot初始化的 ...

  7. 解决SpringBoot+JPA中使用set方法时自动更新数据库问题

    项目进行了三分之二了,突然出现一个很诡异的bug,数据库存储的用户表中密码信息总是自动消失一部分,头疼了几天后突然想起同事有个对低权限用户查询的用户信息向前台传送时会把密码设成null后再传输,心想是 ...

  8. springboot拦截中自动注入的组件为null问题解决方法

    一.写SpringUtil类来获取Springh管理的类实例,判断是否注入成功,如果没有注入成功重新获取注入 package com.util; import org.springframework. ...

  9. Springboot Jpa: [mysql] java.sql.SQLException: Duplicate entry 'XXX' for key 'PRIMARY'

    前言 1.问题背景 偶尔会出现登录请求出错的情况,一旦失败就会短时间内再也登录不上,更换浏览器或者刷新可能会暂时解决这个问题. 项目运行日志如下: 2022-07-21 09:43:40.946 DE ...

随机推荐

  1. eclipse中web项目部署到本地tomcat中,但是在本地的tomcat的webapp下找不到发布的项目

    eclipse不像MyEclipse默认将项目部署到tomcat安装目录下的webapps中,而默认部署到工作目录下 为了使项目默认部署到tomcat安装目录下的webapps中,show view- ...

  2. netty上手

    关于netty的基础NIO,请参见:NIO原理及实例 下面介绍Netty的上手使用: 首先为项目添加jar依赖: <dependency> <groupId>io.netty& ...

  3. [Codechef November Challenge 2012] Arithmetic Progressions

    题意:给定一个序列,求多少个三元组满足ai+ak=2*aj(i<j<k). 题解:原来叉姐的讲义上有啊..完全忘掉了.. 首先这个式子很明显是一个卷积.我们有了FFT的思路.但是肯定不能每 ...

  4. 亚马逊chime启用新顶级.aws域名后缀

    自2013年12月亚马逊AWS公有云服务落地中国,亚马逊AWS在中国市场展开了一系列的活动,激发了国内开发者对亚马逊AWS云平台的热情. chime是亚马逊为客户提供视频会议领域的服务,而.aws是由 ...

  5. openstack live migration性能分析

    http://blog.zhaw.ch/icclab/an-analysis-of-the-performance-of-live-migration-in-openstack/ http://blo ...

  6. 使用npm安装github仓库中的代码

    我们在使用npm下载包的时候,一般是下载在npm官网发布过的.可以指定版本,指定依赖等等. 但是,对于一个团队或公司,需要从自己的工作账号拉取代码,npm是直接支持从git仓库安装的. 最近遇到的一个 ...

  7. img标签显示本地文件

    html: <img src="__IMG__/male.png" id="imgfpic1" style="height: 100%; wid ...

  8. UML类图(二)--------类与类之间的关系之依赖,继承,接口与实现关系

     依赖(Dependency)关系是一种使用关系,特定事物的改变有可能会影响到使用该事物的其他事物,在需要表示一个事物使用另一个事物时使用依赖关系.大多数情况下,依赖关系体现在某个类的方法使用另一个类 ...

  9. WP追加字符串到文件

    #if DEBUG const string logfile = "demo.log"; try { using (var sw = new System.IO.StreamWri ...

  10. MySQL 基础理论面试题整理

    前言: 之前整理公司面试题的时候,看了一篇大神些 SQL 优化之六脉神剑 文章,写的真好! 博主有一些 MySQL 的面试题,简单抽了一个备注一下,补充一下自己不熟悉的地方.   一.在MySQL中, ...