系列文章目录
Spring Boot+Vue项目 微博系统(1):目录和简介
Spring Boot+Vue项目 微博系统(2):构建前端Vue项目
Spring Boot+Vue项目 微博系统(3):创建Spring Boot项目
Spring Boot+Vue项目 微博系统(4):前后端通信测试
Spring Boot+Vue项目 微博系统(5):Spring Security登录流程源码分析
Spring Boot+Vue项目 微博系统(6):新建用户表,测试访问数据库
Spring Boot+Vue项目 微博系统(7):配置Spring Security实现登录
前言
一直以来都不善于记笔记、做总结,觉得很麻烦,也不会回头去看,相信不止我一个人这样,大概还是因为懒吧。。。但看各路大佬都强烈建议写博客记录,那就硬着头皮试试吧,希望能坚持下去。。。
受这位兄弟@Evan-Nightly的启发,打算以一个用于练手的小项目为基础,一步步记录项目开发过程,其中再穿插一些其它的知识。对于项目的讲解可能不会有那么细致,主要是为了从实践中积累知识,或者可能的话,结识更多同行道友吧。
项目规划
简介
使用Vue + Spring Boot开发一个前后端分离的微博系统,说是前后端分离吧,可能也不是严格意义的分离。。。只是前后端分开部署,彼此使用Ajax通信。说是微博系统吧,可能也不是。。。目前的想法只是以微博为基础,最后可能是个四不像,但是无所谓,本来就是用于练手的,熟悉框架,锻炼动手能力而已。
由于我本人是主Java后台研发,所以应该还是会在后台上或者Java上多费些功夫,前端就随便写写了,能实现功能就行。(如果能py到一个前端大佬做前端布局就更好了)
技术选型
-
前端:以Vue为基础,使用Vue官方脚手架Vue-cli搭建,此外还会使用到的有:
- ElementUI:前端UI组件
- Vue-Router:路由
- axios:前后端通信
- Vuex:状态管理
- …
-
后端:后端集成的可能就很多了,以Spring Boot为主,包括但不仅限于:
- Spring Security:权限认证、管理
- MyBatisPlus:访问数据库
- Druid:数据库连接池
- MySQL、Redis:数据库
- …
后续用到再补充吧。
计划
从新建项目开始,记录开发流程,对于其中涉及到的比较重要的知识,可能会扩展出去,搞个番外啥的。
什么是Web项目
通俗来说,我们几乎天天都会访问的各类网站就是Web项目,但是对于我们专业人士来说,要了解的就比较多了,比如Web服务器(如Tomcat),Servlet等。相信很多人很迷,Tomcat、Servlet这些东西到底有什么联系。这里强烈推荐一篇文章 JavaWeb——Servlet(全网最详细教程包括Servlet源码分析),相信不管对于初学者还是已经有一定的Web开发经验的人来说都会有所收获。
其实不管是以前的JSP+Servlet+JavaBean,还是现在Spring或者Spring Boot,Web项目的基本流程还是一样的,大致流程就是:
- 浏览器发起HTTP请求
- Web服务器(如Tomcat)拦截HTTP请求,并根据请求的地址加载我们写的对应的Servlet。
- Tomcat将原生的HTTP请求解析、包装成我们后台常见的各种Request对象,交由加载来的Servlet处理。
- Servlet按照我们写的逻辑,提取Request对象中的数据,做业务处理,这其中包括查询数据库等其他操作。
- Servlet将处理后的Response对象交给Tomcat,Tomcat再将Response对象解析成原生HTTP响应,返回给浏览器。
- 浏览器根据接收到的响应数据进行渲染,即是我们所见的web页面了。
如果写过JSP+Servlet模式,可能对这个流程的体会更深些,Spring只是在此基础上做了很多扩展、封装,解耦等。
对于一些很基础的内容,我可能不会说到。如果照着做遇到问题,建议还是先自己去解决,因为我自己就有深刻体会,如果只是抄写别人写好的程序,并一路顺畅地运行,其实是学不到什么东西的,都是不断遇到问题并解决问题才会有知识积累。
如果有人喜欢的话,欢迎提出合理建议,深入♂交流,共同进步。