论坛课设
论坛课设
Shio论坛课设
总述
本次课设我们直接照搬 “仿牛客论坛项目”, 项目的运行和配置交给我,
大家也可以自己试一试, 但是配置环境很麻烦的浪费时间, 强烈不推荐, 而且前端的CSS
好像还被墙了, 第一次访问的时候得用科学上网
以下是完整的视频教程, 大家不用都看, 主要看自己实现的模块
课程介绍和项目总结这两节大家都看一看
Java求职项目:牛客网Java高级工程师,初识Spirng Boot,开发社区首页项目,免费分享给大家,可做毕设!_哔哩哔哩_bilibili
这个项目找工作用到的人非常多, 所以网上的文章教程也很多 大家酌情搜索观看
工具推荐
这里提供几个工具供大家使用
-
网站 : 通义千问 (aliyun.com), 类似gpt, 帮助你了解代码和技术的利器
-
浏览器插件: 哔哩哔哩字幕列表 - Microsoft Edge Addons 通过字幕列表快速定位b站视频
-
Ai 视频总结 : B站自带的, 大多数人可能会忽略, 快速总结内容: 定位视频核心要点
心态
这个项目 期间会涉及各种中间件和技术
大家千万不要被各种技术名称吓到, 这是用来吓老师的, 我们都只是浅尝辄止, 根本不需要掌握使用, 只需要面对老师的提问可以答出这项技术或者中间件是干什么的, 为什么要用即可, (其实老师99%也不懂, 参考上次课设答辩)
项目如果答辩成功的话, 大概率分会很高, 因为确实用到的技术挺多的, 还是需要大家稍微花一点时间的, 一来谁不想分高一点呢, 二来主要算是拓宽拓宽技术视野吧
技术点
本次项目用到的技术点:
前端 : HTML + CSS + JavaScript(前端这个这个老师基本不会问)
后端 : Spring + SpringMVC + SpringBoot + MySQL + Redis + Kafka + Elasticsearch + Spring Security + Spring Actuator
项目构建 : Maven
记住我们的项目前后端不分离, 会用到模板引擎, 分到的功能每个人既负责前端也负责后端, 就是MVC中我们用到的ModelAndView
, 模板引擎可以理解成JSP(其实不是), 用ModelAndView 来传递信息
知识破冰
上面的技术我们可以大致分为两类:
框架: Spring + SpringMVC + SpringBoot + Spring Security + Spring Actuator
中间件: MySQL + Redis + Kafka + Elasticsearch
框架就是用Java写的半成品代码
中间件就是现成可以用的软件
接下来我进行稍微细致的简介, 让大家不至于一看到这些所谓高大上的名词而被吓到
底下的内容, 大家都看一遍, 分两类
-
一类的必须要知道的
-
另一类就是根据自己分配的模块 去自己看视频了解, 不懂了再在网上搜搜博客或者问问gpt
大家要做的就是概览一遍底下的内容, 记住每个技术点是干什么用的,
分配到的模块用到该技术的就得去看原视频了(其实视频也是概述, 不过也完全足够了)
框架
Spring , SpringMVC (必知):
咱就不说了, 刚刚考过, 开发主要用注解
Maven (必知) :
- 我们知道编程语言有自己的库, 通过库可以直接使用一些现有的代码, 可以减少开发者重复开发, 但除了编程语言自己的库, 还可以引入第三方的库, 这些第三方库, 我们称为依赖
, 依赖的导入和管理非常的繁琐和恶心, 可能会出现各种版本冲突问题, Java提供了Maven这样一个工具进行管理, 我们只要在Maven提供的pom.xml文件中写上依赖的坐标, 就像下面这样
然后点一下刷新
就可以在自己的项目里用这个依赖了
SpringBoot (必知) :
- 改进了SSM, 咱们刚刚考完的SSM会发现有一堆的配置文件, 项目小点还好说, 大一点之后, 很多的配置文件, 不管是增删都是非常的繁琐和恶心的, SpringBoot的出现就是一个核心目的就是改进这一点, 简化配置, SpringBoot供了大量的默认配置 , 你只需要在一个文件中修改即可
而且是只改需要修改的配置即可
- 第二点就是提供了
spring-boot-starter-*
这样的依赖, 这玩意其实就是把提供一种功能 依赖的各种坐标整合成一个坐标(Maven上面讲过的), 提供各个依赖提供比较合适的版本
Spring Security:
就是Spring提供的一个鉴定用户权限的框架, 鉴权 就是登录和判断用户有没有权限做某些事情, 这个详细的内容到时候分任务给谁, 谁具体了解即可
Spring Actuator:
企业项目上线后, 需要时刻监控这个项目的状态, 这个不做功能也可以, 这个详细的内容到时候分任务给谁, 谁具体了解即可
中间件
MySQL (必知)
关系型数据库, 大家应该都了解不多说
Redis
非关系型数据库, 啥叫非关系型数据库? 简单这么说, 存储类似表格这样的分行和列的数据我们叫关系型数据库, 只要不是像这样存储的, 我们就统一叫做非关系型数据库, 当然非关系型数据库有很多种, Redis属于是键值型数据库, 键值型就类似于一个Map, 一个键(key)对应一个(value)值, Redis它是这样存储数据的, 当然value的什么五种基本的结构还有什么高级结构先不说, 这个详细的内容到时候分任务给谁, 谁具体了解即可
为什么要用Redis呢, 还是简单说, Redis存在内存, MySQL存在硬盘, Redis比MySQL快多了, 所以我们要用Redis做缓存
这个详细的内容到时候分任务给谁, 谁具体了解即可
Kafka :
Kafka是一款消息队列, 简单这么说, 有一个队列, 有两个角色, 生产者和消费者, 生产者往队列里面生产消息, 消费者从队列里面消费消息, 我们系统的通知功能这些会用到, 为什么要用呢 主要为了 解耦、异步、削峰(不懂上网查吧, 打字打累了)
这个详细的内容到时候分任务给谁, 谁具体了解即可
Elasticsearch:
可以提供实时而且多样的搜索功能(搜索快),
这个详细的内容到时候分任务给谁, 谁具体了解即可