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

对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 的支持,仍处于实验性阶段。

  • 问题内容: 在Spring CrudRepository中,我们是否支持字段的“ IN子句”?即类似于以下内容? 如果没有这样的支持,可以考虑哪些优雅的选择?触发每个ID的查询可能不是最佳选择。 问题答案: 应该可以。 HTTP请求参数格式如下所示: JPA存储库关键字它表明这是等效的-如果你更喜欢动词以提高可读性-并且JPA还支持和。

  • 问题内容: 我有这个Spring Data 处理DB上的CRUD操作。 是我的数据库的用户表的实体。即向存储库添加以下操作: 如文档中所述,如果给定的id为null,而保存操作没有引发任何异常,则delete和find操作将引发。 问题在于CrudRepository的javadoc没有提及这些操作引发的其他异常。例如,如果提供的ID在数据库中不存在,它不会告诉操作会抛出。 在操作的javadoc

  • 在CrudRepository接口中添加自定义方法是否可能(如果可以,如何添加)? 我有一个名为foobar的实体类的DAO。为了这个问题-entity类可以有任意数量的字段/列。 任何建议都会有帮助,谢谢。