前言:
此文章用于记录B站看的第一个springboot项目学习笔记,主要于自用。
项目架构
前置知识
- ES6新特性
- Vue.js
- Mybatis-Plus
- oss
随便唠两句
关于ES6就看了视频的前置知识,主要几点比较重要
- Promise异步编程
- 模块化(import export)
这个前后端分离项目前端主要是由Vue.js完成的,所以本来想把黑马的全套vue给学完再来学这个项目,但是没坚持,就学了指令、计算属性、侦听器、组件化基础,还有之前学的项目有用Vue脚手架进行模块化开发,真正重要的生命周期和钩子函数还有路由(router)都没去学,导致前端项目看到一脸懵。
Mybatis-Plus也没学,但是看到p67那个自动生成xml,各种模块的时候真觉得这玩意真牛,等项目学完一定要好好学这技术。
oss就是文件上传,还是挺简单的,改个ID,secret什么的就可以用了
开发阶段
商品分类 p63-p80
第一个完成的模块是商品分类
这里要完成的目标是显示出数据列表,并且点击查看下级能通过parentId一并查找出来
第一步是把数据展现出来
首先就是打开前端路由
然后打开商品分类后就会报404,这是肯定的,因为前端提供的接口,后端都没有实现
这个项目提供给后端的接口都写到了这里
这里要写的接口便是url里面的内容
这里在提一下,这个项目的接口定义规则
接下来就开始写后端
后端架构
主要模块结构
后端要完成的任务其实比较简单,因为只要看懂了前端传来的接口和要传递的参数,
后端给它这些东西就好了
获取商品分类列表p71-73
前端需要的url接口是这个
因为在这个组件中所有的接口都有productCategory所有后端可以在类上写一个通用的接口
在方法上在使用不同的接口,如何实现呢,使用这个非常重要的注解——@RequestMapping
首先是@RestController
表面这个类注入到spring容器中,并且是Controller类,还有@RequestMapping
方法:
方法名最好和前端的方法名一致,还有方法上面的注释
@RequestMapping(value = "/list/{parentId}", method = RequestMethod.GET)
使用RestFul风格,并且指定对应的get,set方法
然后通过调用注入的Service接口并实现service实现类的方法,来达到controller调service,service调dao的三层架构的思想。
需要注意的是这里的lamdba表达式和mybatisplus的方法的使用,需要后面再学习mybatisplus的时候好好研究
修改导航栏状态和是否显示p74
这两个方法很相识
前端
后端controller
后端service
商品分类删除p75
前端
后端controller
后端service