Spring Data CrudRepository 作为方法 Bean
Posted
技术标签:
【中文标题】Spring Data CrudRepository 作为方法 Bean【英文标题】:Spring Data CrudRepository as method Bean 【发布时间】:2016-01-29 14:30:38 【问题描述】:有没有办法在配置类中将 Spring Repository 创建为 Bean?这样我就可以在一个类中拥有多个存储库,而不是为每个实体创建新的接口文件?
我尝试创建一个嵌套的@Repository 接口,但无法自动装配。
编辑: 尝试过(如前所述)
@Repository
public static interface CustomerRepository extends JpaRepository<Customer, Long>
List<Customer> findByLastNameStartsWithIgnoreCase(String lastName);
这是SpringBootApplication类中的内部类。我不能使用 @Bean 注释,因为它会产生编译错误
【问题讨论】:
请显示您尝试过的代码。 当然你不能使用@Bean
方法。检测到接口并且 Spring Data 创建实现。您必须为所需的实体提供接口。无论是在单个文件中作为内部接口还是顶层,它们都必须存在。
嗯,但这正是问题所在——它不适用于内部类接口
为什么要将接口存储库定义为内部类?
好吧。正如您在帖子中看到的,我不想有 10 个空接口。我宁愿有一个可以在其中声明这些接口的类。
【参考方案1】:
原来有一种方法considerNestedRepositories。
【讨论】:
以上是关于Spring Data CrudRepository 作为方法 Bean的主要内容,如果未能解决你的问题,请参考以下文章
@Tailable(spring-data-reactive-mongodb) 等效于 spring-data-r2dbc
如何利用spring data mongodb 进行多条件查询
Spring Data 系列 Spring+JPA(spring-data-commons)
初探 spring data--- spring data 概述
spring-data-jpa 和 spring-boot-starter-data-jpa 的区别
无法将 Spring Data MongoDB + Spring Data JPA 与 Spring Boot 一起使用