当 JpaRepository 与 Componentsscan 位于单独的包中时,未实现/注入

2023-11-24

我有一个 JpaRepository 接口,当它位于与包含 @ComponentScan 的主类不同的包中时,Spring 数据未实现(或注入?)。

我的包结构(仅用于演示错误):

- org.demo.jpa.myapp
    Application.java
- org.demo.jpa.repo
    MyDomainObject.java
    MyRepository.java

MyRepository.java

public interface MyRepository extends JpaRepository<MyDomainObject, Long> { }

应用程序.java

@Configuration
@ComponentScan(basePackages="org.demo.jpa")
@EnableAutoConfiguration
public class Application {

    public static void main(String[] args) {
        ApplicationContext context = SpringApplication.run(Application.class, args);        
        if (context.getBean(MyRepository.class) == null){
            throw new NullPointerException("repo was not initialized!");
        }
    }                
}

例外情况

Exception in thread "main" 2014-09-01 11:20:26.336  INFO 6156 --- [           main] org.demo.jpa.myapp.Application           : Started Application in 2.824 seconds (JVM running for
 3.362)
2014-09-01 11:20:26.339  INFO 6156 --- [       Thread-1] s.c.a.AnnotationConfigApplicationContext : Closing org.springframework.context.annotation.AnnotationConfigApplicationContex
t@5d50b632: startup date [Mon Sep 01 11:20:23 EDT 2014]; root of context hierarchy
org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [org.demo.jpa.repo.MyRepository] is defined
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBean(DefaultListableBeanFactory.java:319)
    at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:985)
    at org.demo.jpa.myapp.Application.main(Application.java:17)

这个错误是没有抛出当 MyRepository 和 MyDomainObject 与 Application 类位于同一包中时。

这是使用 spring-boot-starter-parent 1.1.5.RELEASE 和 spring-boot-starter-data-jpa。


这可能是预期的行为(请参阅文档在这里)。包装内含@EnableAutoConfiguration实际上是两者的默认猜测@EnableJpaRepostories and @EntityScan。如果这些包与主自动配置包分离,则您将需要这两个包。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

当 JpaRepository 与 Componentsscan 位于单独的包中时,未实现/注入 的相关文章

随机推荐

  • 在 TypeScript 中引用没有名称的类以在子类中使用不同的静态方法

    在 ES6 中 您可以通过以下方式引用静态方法this constructor class MainClass static info return This is some information constructor this inf
  • Android USB主机:异步中断传输

    我正在尝试连接 USB 设备 我自己构建 来与我的开发板 ODROID X 进行通信 不幸的是 就异步通信而言 例子很少 我在中断驱动的数据交换方面遇到了一些问题 如何使用异步中断模式建立连接 在一个方向上 传输是可能的 但在两个方向上都不
  • 控制相机纵向拍照不会旋转最终图像

    我试图控制 Android 相机在肖像应用程序中拍照 但当我保存照片时 它是横向的 我将图像旋转了 90 度setCameraDisplayOrientation 方法 但是不起作用 然后我找到了这个post但是TAG ORIENTATIO
  • T4 模板 - 适合生成 C++ 代码吗?

    是否存在任何问题可能导致 MS 的 T4 模板代码生成系统不适合生成 C 代码 答案有点长 但我想有些人可能会觉得有趣 我想说 T4 非常适合生成 C 有些人可能会反驳说 C 已经有了进行元编程的工具 例如 预处理器 使用预处理器和高阶宏
  • C99 'restrict' 关键字的实际用法?

    我正在浏览一些文档和问题 答案 并看到提到了它 我读了一个简短的描述 指出这基本上是程序员的承诺 指针不会被用来指向其他地方 谁能提供一些值得实际使用的实际案例 restrict表示指针是唯一访问底层对象的东西 它消除了指针别名的可能性 使
  • 什么是热观测值和冷观测值?

    我看了视频我知道一般原则 即使没有人订阅 热也会发生 冷会 按需 发生 此外 Publish 将冷数据转换为热数据 Defer 将热数据转换为冷数据 但我仍然觉得我错过了细节 以下是我想回答的一些问题 您能为这些术语给出一个全面的定义吗 在
  • 在线图像编辑器 - Ajax 还是 Flex / Flash?

    我正在制定一个计划 构建一个只有一些基本功能的在线图像编辑器 它 显然 应该包含一个画布工作区并支持以下功能 1 从您的计算机上传图像或提交链接2 调整图像大小 通过拖动角 3 旋转和翻转4 拖动 移动 平移5 分层 如果画布上有多个图像
  • 使绑定重定向适用于 Office 加载项

    我在 Word 插件中使用 Microsoft Bcl Async 我的插件被编译为 exe test addin exe 文件 该文件从 Microsoft Word 作为程序集加载 当我直接启动可执行文件时 一切正常 但是当我从 Wor
  • 一个或零到一实体框架代码优先 FluentApi

    我需要创建 Fluentapi 一对一或零对一引用 并在两个实体上都具有导航属性 实体二应包含存储外键的简单属性 实体 ID public class EntityOne public int Id get set public Entit
  • 矢量加载/存储和聚集/分散的每个元素原子性?

    考虑一个像这样的数组atomic
  • 如何让excel显示一定数量的有效数字?

    我正在使用 Excel 我想显示一定数量的有效数字的值 我尝试使用以下等式 ROUND value sigfigs 1 INT LOG10 ABS value value 替换为我正在使用的数字 sigfigs 替换为我想要的有效数字的数量
  • 如何在 Flutter 中使用线性渐变创建模糊

    我正在尝试在 Flutter 内部创建一个小部件 其作用类似于 BackdropFilter 小部件并模糊其后面的任何内容 尽管与 BackdropFilter 不同 这种模糊度不应均匀分布 而应逐渐线性增加模糊度 有没有人有什么想法 谢谢
  • `jupyter Notebook` 给出错误:`“无法在 macOS 上打开静态文件 ''”`

    我没有更改我的系统配置 但今天我第一次发现这个错误 我已经在这里报告了 https github com jupyter notebook issues 4871 gt jupyter notebook I 10 44 20 102 Not
  • OAuth 秘密和桌面应用程序

    我正在考虑使用解释语言创建一个可以访问 Google API 的桌面应用程序 据我所知 存在安全漏洞 客户端秘密将在代码中公开 即使我用 C 或 Java 创建应用程序 代码也可以被反编译 反汇编 并且理论上可以找到秘密 除了混淆代码之外还
  • PostgreSQL 多 INSERT...RETURNING 多列

    我正在构建一个以 Postgres 9 3 作为后端的数据库 有 3 个表 table1 user id username name surname emp date table2 pass id user id password tabl
  • Java:如何缩进 Transformer 生成的 XML

    我使用 Java 内置的 XML 转换器来获取 DOM 文档并打印出生成的 XML 问题是 尽管明确设置了参数 indent 但它根本没有缩进文本 示例代码 public class TestXML public static void m
  • C# 在执行之前构建任务列表

    我正在尝试在执行任务之前建立一个任务列表 这是一些示例代码 public string Returnastring string b return b public string Returnanotherstring string a r
  • String 是原始类型吗?

    我对字符串和原始类型很好奇 文章类似this说字符串是原始类型 然而第二篇文章MSDN 上没有将字符串列为原始类型 但是 当我运行第二篇文章中提供的代码时 它显示字符串不是原始类型 任何人都可以指导我吗 两篇文章都说字符串是NOT原始类型
  • R - 从因子到数字或整数错误

    我有一个数据框R我从 CSV 文件加载的 其中一个变量称为 金额 旨在包含正数和负数 当我查看数据框时 该变量的数据类型被列为一个因素 我需要它以数字格式 但不确定是哪种 整数 数字 嗯 因此 我尝试将其转换为这两种格式之一 但看到了一些有
  • 当 JpaRepository 与 Componentsscan 位于单独的包中时,未实现/注入

    我有一个 JpaRepository 接口 当它位于与包含 ComponentScan 的主类不同的包中时 Spring 数据未实现 或注入 我的包结构 仅用于演示错误 org demo jpa myapp Application java