Spring Boot 无法注入 XXRepository

首先简单介绍一下Spring Data

Spring Data 的使命是给各种数据访问提供统一的编程接口,不管是关系型数据库(如MySQL),还是非关系数据库(如Redis),或者类似Elasticsearch这样的索引数据库。从而简化开发人员的代码,提高开发效率。

包含很多不同数据操作的模块:

Spring Data 的强大之处,就在于你不用写任何DAO处理,自动根据方法名或类的信息进行CRUD操作。只要你定义一个接口,然后继承Repository提供的一些子接口,就能具备各种基本的CRUD功能。

问题关键

在继承各种Repository(JPA、Elasticsearch等相关)接口时,spring boot的启动器和接口的相对位置要注意。

启动器处于根目录中,XXRepository处于对应的子目录下,此时是可以被成功注入。
如果将启动器移动到其他平行目录或者子目录,就算使用scanBasePackages指定扫描目录也无法将XXRepository成功注入,会产生错误。

猜你喜欢

转载自blog.csdn.net/lyj2018gyq/article/details/83008497