1、背景
大概五月中就要开始答辩了,我给自己定的时间是五月搞定毕业设计。毕业设计做的是一个前后端分离的springboot项目,目前已经找到了对标的开源项目,是一个基于ruoyi脚手架开发的项目
2、当前情况
现本人在某家公司实习,技术栈为windows + .NET,客户端开发
之前自学的是Linux下c/c++网络编程那一套
对于java,javaweb只能说大概了解,简单写过。但是对于springboot那一套,是一点都没有接触过,连概念都不太熟悉
3、当前目标
能将那个开源项目看懂,同时改成自己想要的样子,水出一篇毕业论文,对于springboot等的知识就不作太深入的研究,毕竟现在工作或者是以后一两年的方向都不太可能为java
4、开始时间
2023/03/15
5、计划
大体的思路为把项目的技术点拆分出来,然后每个先了解一下,了解得差不多了,就直接看项目,毕竟最终目的还是看项目,然后在看项目的期间进行查漏补缺即可
技术要点,摘自项目的README.md
主要思路为以SpringBoot为核心,单独集合每个技术点,写出个小demo,就差不多了,
-- springboot + vue
-- springboot + jwt
-- springboot + springsecurity
(上述搭配仅作举例使用)
6、开始
springboot+mybatis+MySQL
https://blog.csdn.net/yuran06/article/details/122012790
简单尝试但是没有成功跑通,这个时候已经知道SpringBoot + Mybaits + MySQL的大概用法
springboot + thymeleaf
https://blog.csdn.net/weixin_39106990/article/details/105530443
最后的第二个例子也成功
SpringBoot + MyBatis + MySQL实现登录注册功能
https://blog.csdn.net/byteArr/article/details/80955703
上手测试:
注册功能 成功
用户名重复 成功
正常登录测试 成功
非常不错,拉下来配置一下就能够正常使用,接下来分析总结一波
分析总结:
参考文档:
https://baiyuliang.blog.csdn.net/article/details/109254387
https://baiyuliang.blog.csdn.net/article/details/109255592
https://it.cha138.com/php/show-36066.html
https://blog.51cto.com/u_12835254/5273069
这里面有两条流程,一条是登录,另外一条是注册,这里分析一下登录流程,注册流程也是差不多的
到这里,整个调用,每个模块应该做什么,期间的流程也大概了解了
问题
问题:IDEA社区版没有spring Initializr
解决:https://blog.csdn.net/ErickPang/article/details/128794674
问题:从github拉下来运行之后报错
Exception in thread "main" java.lang.ClassCastException: class jdk.internal.loader.ClassLoaders$AppClassLoader cannot be cast to class java.net.URLClassLoader (jdk.internal.loader.ClassLoaders$AppClassLoader and java.net.URLClassLoader are in module java.base of loader 'bootstrap')
解决:https://blog.csdn.net/username666/article/details/108203239
问题:sql配置,因为该项目中没有对应的sql文件,所以,需要看看如何配置
解决:
https://blog.csdn.net/qq_45830969/article/details/122697715
sql文件在博客中有
汇总:
CREATE DATABASE login;
USE login;
DROP TABLE IF EXISTS `user`;
CREATE TABLE `user` (
`id` bigint(32) NOT NULL AUTO_INCREMENT,
`username` varchar(255) DEFAULT NULL,
`password` varchar(255) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
问题:启动报错
Loading class com.mysql.jdbc.Driver'. This is deprecated. The new driver class is
com.mysql.cj.jdbc.Driver'
解决:https://blog.csdn.net/qq_41943867/article/details/90574135
问题:为什么当前项目可以访问我的html,而不是通过什么controller里面常规的定义?
猜想:是下面的这个配置,导致你直接在url上输入就可以访问了
猜想验证测试:那么按照这个说法,那我现在直接新建一个test.html,其他的对于什么controller、service之类的我都不处理,如果最后可以直接访问我这个test.html,那么也就是说明我的猜想是正确的,否则,再看看啥回事
结论:静态页面不用管什么controller之类的,只需要做好配置,写好html就行了
TODO:对上述项目的改进
1、将所有的界面改成用vue显示
2、集成Spring Security
3、集成Redis & Jwt