当当。。。。
这两天遇到了一些学习SpringBoot相关知识的问题,做一个记录。

在学习Spring Data JPA的时候,因为还是在学习中,所以现在只是记录其中已经遇到的一个问题。

Spring Data JPA 全称是Spring Data Java Persistent API,嘿嘿。。概念性的东西,大家百度就行,其他的小伙伴已经介绍的很详细了。

这次遇到的问题是SpringBoot不能自动注册Repository 的问题,因为我是继承了JpaRepository这个接口的,所以SpringBoot会自动注册,但是,并没有出现预期的效果呢!

搜索了很多资料,看到很多小伙伴的分享,终于有一个小伙伴的文章帮助了我,虽然我找不到他的链接了,但是他永远活在我的心里。

他的文章是关于SpringBoot为什么不能自动注入的方案,很简单,就是因为启动类跟其他要被扫描的包不是同级目录,所以导致没扫描到类,正确的结构,如下图所示:

java JpaRepository会自动保存_Data


调整目录结构后,我的项目是可以正常启动了,但是又遇到一个问题,

Circular view path [sort]: would dispatch back to the current

handler URL [/sort] again. Check your ViewResolver setup!

因为我访问的是/sort,报了这个找不到的问题,这位仁兄

又给我指了条明路,是因为Controller的注解不正确,我用的是@Controller,这个注解声明了这个类是一个控制类,可以进行跳转,但是需要view model 的配合,换言之,controller就是返回一个后台需要做对应处理的对象的名称,是MVC中的Controller;完美的方案是使用@RestController,相当于@ResponseBody + @Controller合在一起,返回的应该是一个对象,即return一个member对象,这时,在没有页面的情况下,也能看到返回的是一个member对象对应的json字符串,而前端的作用是利用返回的json进行解析渲染页面。大家可以参考下图:

java JpaRepository会自动保存_json字符串_02


我的启动类什么都不用添加,如下图所示:

java JpaRepository会自动保存_json字符串_03

实现JpaRepository如下图:

java JpaRepository会自动保存_Data_04

这样就成功运行出来了。

java JpaRepository会自动保存_json字符串_05

希望可以帮助到大家,也欢迎大家批评指正,共同进步!