A.C*_*oun 8 spring spring-data spring-data-jpa spring-boot
我正在使用Spring Boot + Spring Data JPA并在尝试注入扩展CrudRepository的类时遇到此问题:
引起:org.springframework.beans.factory.BeanCreationException:创建名为'topicRepository'的bean时出错:无法解析匹配的构造函数(提示:为简单参数指定索引/类型/名称参数以避免类型歧义)
存储库类:
public interface TopicRepository extends CrudRepository<Topic, Integer> {}
Run Code Online (Sandbox Code Playgroud)
服务类别:
@Service
public class TopicService {
@Autowired
private TopicRepository topicRepository;
}
Run Code Online (Sandbox Code Playgroud)
有什么建议?
我遇到了同样的问题,我通过切换Spring Boot版本修复了它.更改Spring Data JPA版本什么也没做(这是我认为错误的地方),所以我认为Spring Boot 1.5.1版本中存在一个错误.我切换回1.4.3版本,错误消失了.我没有尝试后续/不同版本,因此您可能只需要试验您的依赖项及其版本.
对于记录,您可以使用带有注释的服务类@Repository
,它不应该有任何区别.我一直在使用service/dao模式以相同的方式设置这些应用程序,而且注释从未过于挑剔.希望这可能有助于其他Spring Boot开发流程突然抛出错误的人!
您正在使用哪些版本的spring-data-commons和spring-data-jpa。我只是使用spring-data-commons 1.13.x和spring-data-jpa 1.10.x遇到了这个问题。将spring-data-jpa升级到1.11.x为我解决了这个问题。
确保:
1) TopicRepository 注释为@Repository
.
2)您已配置扫描包:
<jpa:repositories base-package="mypkg.repositories"></jpa:repositories>
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
6975 次 |
最近记录: |