今天遇到一个问题折腾蛮久的,在这里记录一下。 毕竟是才刚开始使用Jpa这个技术,总是会遇到各种配置问题。 使用Spring Data Jpa非常的方便,一些简单的操作基本上都不用写具体的实现, 直接写一个接口继承JpaRepository就行了,注意需要带有一个泛型。k = 表映射的实体类,value = 表的Id类型。
public interface UserRepository extends JpaRepository<User, Integer> {}
在使用的时候直接自动装配就好。
@Autowired
private UserRepository repository;
或者为了测试方便,通过构造传参,然后自动装配也行。
private UserRepository repository;
@Autowired
public UserController(UserRepository repository) {
this.repository = repository;
}
然后就可以使用一些常用的数据库操作,如:findxxx、delete、save。 不过默认没有update
方法,如果需要的话,就要在接口中再添加。
好了,说下我遇到的那个问题:
Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [com.example.rest.repository.UserRepository] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {}
写个Demo自动装配的时候,测试报这个错误。 检查一下spring配置文件,才发现少了声明repository所在包位置。
<!-- 表示JPA Repository所在的包 -->
<jpa:repositories base-package="com.example.rest.repository"/>
添加以上配置即可。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/2076.html