我是 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 - 如何使用 Spring Boot 从不同的包中 Autowiring 存储库接口(interface)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23514155/