试下1个半月能不能水出个毕设

1、背景

大概五月中就要开始答辩了,我给自己定的时间是五月搞定毕业设计。毕业设计做的是一个前后端分离的springboot项目,目前已经找到了对标的开源项目,是一个基于ruoyi脚手架开发的项目

2、当前情况

现本人在某家公司实习,技术栈为windows + .NET,客户端开发
之前自学的是Linux下c/c++网络编程那一套

对于java,javaweb只能说大概了解,简单写过。但是对于springboot那一套,是一点都没有接触过,连概念都不太熟悉

3、当前目标

能将那个开源项目看懂,同时改成自己想要的样子,水出一篇毕业论文,对于springboot等的知识就不作太深入的研究,毕竟现在工作或者是以后一两年的方向都不太可能为java

4、开始时间

2023/03/15

5、计划

大体的思路为把项目的技术点拆分出来,然后每个先了解一下,了解得差不多了,就直接看项目,毕竟最终目的还是看项目,然后在看项目的期间进行查漏补缺即可

技术要点,摘自项目的README.md
image.png

主要思路为以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
image.png
最后的第二个例子也成功
image.png

SpringBoot + MyBatis + MySQL实现登录注册功能

https://blog.csdn.net/byteArr/article/details/80955703


上手测试:

注册功能 成功
image.png
image.png


用户名重复 成功
image.png


正常登录测试 成功
image.png

非常不错,拉下来配置一下就能够正常使用,接下来分析总结一波


分析总结:

参考文档:
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
这里面有两条流程,一条是登录,另外一条是注册,这里分析一下登录流程,注册流程也是差不多的
image.png
到这里,整个调用,每个模块应该做什么,期间的流程也大概了解了


问题

问题: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里面常规的定义?
image.png
image.png
猜想:是下面的这个配置,导致你直接在url上输入就可以访问了image.png
猜想验证测试:那么按照这个说法,那我现在直接新建一个test.html,其他的对于什么controller、service之类的我都不处理,如果最后可以直接访问我这个test.html,那么也就是说明我的猜想是正确的,否则,再看看啥回事
image.png
结论:静态页面不用管什么controller之类的,只需要做好配置,写好html就行了


TODO:对上述项目的改进

1、将所有的界面改成用vue显示
2、集成Spring Security
3、集成Redis & Jwt
image.png

posted @ 2023-03-16 17:48  Canwaiting  阅读(77)  评论(0编辑  收藏  举报