我是Spring Boot的新手,并且想自动连接来自Rest Controller中不同软件包的存储库。看来,当我将接口和实现放在不同的程序包中时,实际的控制器似乎自动接线失败了。
由以下原因引起:org.springframework.beans.factory.NoSuchBeanDefinitionException:没有找到类型为[com.acme.repository.RawDataRepository]的合格Bean作为依赖项:
控制器:
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注释,但这没有解决方案。任何想法我想念的吗?每当我将接口放入控制器所在的程序包中时,一切都会顺利进行。
如果您@Repositories在不同的包中包含Spring Data ,则必须显式@EnableJpaRepositories(或使用自己的风格替换“ Jpa”)。Boot从包含的包中获取默认值,@EnableAutoConfiguration因此也可以仅移动该类。
@Repositories
@EnableJpaRepositories
@EnableAutoConfiguration