spring之如何使用 Spring Boot 从不同的包中 Autowiring 存储库接口(interface)

yjmyzz 阅读:9 2024-05-29 10:23:45 评论:0

我是 Spring Boot 的新手,想从 Rest Controller 中的不同包 Autowiring 存储库。似乎当我将接口(interface)和实现放在不同的包中时, Autowiring 的实际 Controller 似乎失败了。

Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [com.acme.repository.RawDataRepository] found for dependency:..



Controller :
package com.acme.controller; 
import com.acme.repository.RawDataRepository; 
// imports removed! 
 
@RestController 
@EnableAutoConfiguration 
@ComponentScan("com.acme") 
public class DataCollectionController { 
 
    @Autowired 
    private RawDataRepository repository; 
 
    // code removed! 
} 

我曾尝试使用 @ComponentScan 注释,但这没有给出解决方案。
知道我缺少什么吗?每当我将接口(interface)放入 Controller 所在的包中时,一切都会顺利进行。

请您参考如下方法:

如果你有 Spring Data @Repositories在不同的包中,您必须明确 @EnableJpaRepositories (或用您自己的口味替换“Jpa”)。引导从包含 @EnableAutoConfiguration 的软件包中获取它的默认值。所以它也可以移动那个类。


标签:Spring
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

关注我们

一个IT知识分享的公众号