写在前面
如题,这里只是个人的学习理解过程,不是专业的后端,一些概念知识难免说的不对,请自行斟酌。写完这篇争取在写一遍mybatis (。_ 。) ✎_。
这里不截图相关的代码了,不太好弄,只是介绍一些要用到的概念,要结合demo来看,是前后分离的,前端用vue,demo地址点这里,demo里有些是使用原生sql,主要是为了学习,其实springboot jpa都能实现,另外jpa还是有很多东西要学的,这里都只是入门而已。
在了解了jpa的概念之后,突然觉得一个好的框架真的能省下来不少麻烦事,这也是一个框架存在的意义,回想起以前用.net维护老系统的时候,全是手写sql语句,动不动就是三百行sql,简直要哭了。
这个过程中可以会让人钻进死胡同的地方有:一是后端是怎么接到请求的,二是什么是注解。这两点让后困惑了很久,不知道是不是其他前端人的困惑。对于一,千万不要钻到计算机网络方面的胡同里,怎么接收到请求不用去考虑,当一个后端服务起来之后,是Tomcat等这些服务接管了代码,怎么接收的是Tomcat服务的事,反正路径,端口对了之后,剩下的就是Tomcat的事,还没有水平去操心这方面的东西。对于二,注解就是java的东西,我也没去深究,就简单的可以理解为一个语法糖吧,不必关系它是怎么实现的,目前只管知道怎么使用就够了,就像vue中v-if,v-for一样,不必去关系它怎么就能实现那个效果,这是框架带来的,不是我们所考虑的东西。
开始
springboot内置了一些基本的CRUD方法,目的就是减少开发人员亲自去写sql语句,在了解springboot jpa的相关东西之前,有一个前置的知识就是spring mvc,其实也就是mvc模式,这个东西网上有很多资料,这里就不去介绍了。spring mvc中有一些概念controller
,service
,dao
,这三个是很重要概念,至于它们的概念和作用,同样网上很多资料。
简单的说就是:controller
是负责与前端对接并转发处理请求,最后把最终的处理结果返回给前端;service
负责进行业务的处理;dao
负责操作数据库;这三个各司其职能使项目结构清晰便于理解,同时降低代码的耦合。
一个完整的过程为:当一个前端请求过来后,首先进入的是controller
,controller
接收到之后,根据请求的路径进行匹配,匹配到之后执行关联的方法,而这个方法中则会调