当前位置: 首页 > 知识库问答 >
问题:

对CrudRepository的Spring Boot Autowired支持

洪博涛
2023-03-14

设置好JPA实体后,Spring Bootcrudrepository接口似乎会很好地帮助我。在我的情况下,我希望根据需要创建这些CrudRepository实例,而不是总是基于@autowired注释。例如,在我的用例中,我有一个GUI菜单,它将包含一个域(或引用)表名列表。根据用户选择的内容,程序将实例化这些CrudRepository实现之一。

如果我使用@autowired,那么我不是必须在代码中使用所有可能的已知实现吗?

一个假设用例:

public interface PublisherRepository extends CrudRepository<Publisher, Long> {
}

public interface AuthorRepository extends CrudRepository<Author, Long> {
}

(我才意识到我还是要创建这些实体。)

@Autowired
PublisherRepository publisherRepo;

@Autowired
AuthorRepository authorRepo;

真诚地说,

学生_T

共有1个答案

慕烨烁
2023-03-14

通常,bean是迫不及待地创建的,所以@autowiring未使用的bean不是问题。它们无论如何都会占用内存并消耗一些启动时间。

如果您真的不想自动连接,可以@autowire org.springframework.beans.factory.BeanFactory并使用getBean来获得所需的存储库。但这是个可怕的主意。这将您的@服务绑定到Spring,并且(如果您的存储库找不到)您将得到(访问期间的)延迟运行时异常,而不是启动异常。

 类似资料:
  • 安装设置 Docusaurus 支持用 TypeScript 编写的主题组件。要开始使用 TypeScript,请在项目中添加 @docusaurus/module-type-aliases 以及一些 @types 依赖项: npm Yarn npm install --save-dev typescript @docusaurus/module-type-aliases @types/react

  • 搜索之后,我发现了两个有趣的答案: > 对 javaFX 的本机映像格式支持 使用javaFX控制gif图像 但是正如我所看到的,javaFX不支持APNG图像。如何使用任何外部库或编写一些代码来解决此问题。我需要一个解决方案... 谢谢你的帮助。

  • Hibernate 也可以被配置为一个 JCA 连接器(JCA connector)。更多信息请参看网站。请注意,Hibernate 对 JCA 的支持,仍处于实验性阶段。

  • 我在我的项目中使用RxJava3和Room,但我得到了以下错误 错误:不确定如何将游标转换为此方法的返回类型(io.reactivex.rxjava3.core.Flowable 下面是我得到错误的DAO接口方法 我想可能是因为我在成绩档案中使用了以下依赖项: 我试图找到RxJava 3的上述依赖项,但我找不到它。 我想知道如何将RxJava 3与Room一起使用,或者我应该在我的项目中使用RxJ

  • 在Uwamp网站上查看时,我无法看到与每个Uwamp版本相关的PHP版本相关信息。我可以知道Uwamp版本是否支持:PHP7.0.2/PHP7.0.6/PHP7.0.6?如果不是,预计何时支持此版本?请帮忙。

  • Hibernate准备好与Java9的可用构建一起工作了吗?