Spring JPA - 存储库神奇地从哪里出现?

时间:2017-04-23 03:55:14

标签: hibernate spring-data spring-data-jpa autowired

我一直在尝试使用GET和POST方法编写一个Rest控制器,JPA层与后面的MySQL数据库通信。我试图效仿这个例子 -

https://spring.io/guides/tutorials/bookmarks/

如此链接所示,我在RestController类中添加了一个构造函数 - 类似于

@Autowired
    BookmarkRestController(BookmarkRepository bookmarkRepository,
                           AccountRepository accountRepository) {
        this.bookmarkRepository = bookmarkRepository;
        this.accountRepository = accountRepository;
    }

但我得到的错误是说我没有实现存储库实现的bean。我怎么看到这个存储库神奇地出现在我的RestController中?

由于

2 个答案:

答案 0 :(得分:1)

这听起来像存储库的接口不是组件扫描找到的位置。

将您的接口放在Spring Boot应用程序的包或子包中。

答案 1 :(得分:0)

您必须为BookmarkRepositoryAccountRepository创建一个界面。定义接口时,Spring数据JPA在内部定义其实现。

@Repository
public interface BookmarkRepository extends JpaRepository<Bookmark, Long>{

}

PS:如果你定义了一个接口,但你的代码仍然不能正常工作,因为弹簧容器找不到你的存储库,或者你没有JPA所需的jar文件