# 林哈哈的全栈在线教育 **Repository Path**: wushulin/online_education ## Basic Information - **Project Name**: 林哈哈的全栈在线教育 - **Description**: 项目全程跟着尚硅谷的在线教育,自己添加一些细节的功能,欢迎交流。 - **Primary Language**: Java - **License**: GPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 0 - **Created**: 2021-08-14 - **Last Updated**: 2025-12-04 ## Categories & Tags **Categories**: Uncategorized **Tags**: JavaSpringboot ## README # 林哈哈的全栈在线教育总结 #### 介绍 本项目跟着尚硅谷的课程走的,在线教育项目采用B2C商业模块,使用微服务架构,项目采用的是前后端分离开发,该部分内容纯为了学习使用, 进一步学习springboot以及springcloud等的实际应用。 #### 前端技术点以及后端技术点概述 一、前端技术点总结 1.在线教育项目采用前后端分离开发 2.项目使用的前端技术: (1)vue * 基本语法 * 常见指令 : v-bind v-model v-if v-for v-html * 绑定事件: v-on-click @click * 生命周期:created() 页面渲染之前 mounted()页面渲染之后 * ES6规范 (2)Element-ui (3)nodejs * 是JavaScript运行环境,不需要浏览器直接运行js代码,模拟服务器效果 (4)NPM * 包管理工具,类似于Maven * npm命令: npm init npm install 依赖名称 (5)Babel * 转码器,可以把ES6代码转换成ES5代码 (6)前端模块化 * 通过一个页面或者一个js文件,调用另外一个js文件里面的方法 * 问题:ES6的模块化无法在Node.js中执行,需要用Babel编辑成ES5后再执行 (6)后台系统使用vue-admin-template * 基于vue+Element-ui (7)前台系统使用Nuxt * 基于vue * 服务器渲染技术 (8)Echarts * 图表工具 二、后端技术点总结‘ 1.项目采用微服务架构 2.SpringBoot (1)SpringBoot本质是就是Spring,只是快速构建Spring工程脚手架 (2)细节: * 启动类包扫描机制 * 设置扫描规则 @ComponentScan("包路径") * 配置类 (3)SpringBoot配置文件 * 配置文件类型:properties和yml * 配置文件加载顺序:bootstrap application application-dev 3.SpringCloud (1)是很多框架总称,使用这些框架实现微服务架构,基于SpringBoot实现 (2)组成框架有哪些? 服务发现----------Netflix Eureka(Nacos) 服务调用----------Netflix Feign 熔断器------------Netflix Hystrix 服务网关----------Spring Cloud GateWay(可以替换nginx) 分布式配置--------Spring Cloud Config(Nacos) 消息总线----------Soring Cloud Bus(Nacos) (3)项目中,使用阿里巴巴Nacos,替代SpringCloud一些组件 (4)Nacos * 使用Nacos作为注册中心 * 使用Nacos作为配置中心 (5)Feign * 服务调用,一个微服务调用另外一个微服务,实现远程调用 (6)熔断器 (7)Gateway网关 * SpringCloud之前zuul网关,目前Gateway网关 (8)版本对应: Finchley 2.0.x Greenwich 2.1.x Hoxton 2.2.x 4.MyBatisPlus (1)MyBatisPlus就是对MyBatis做增强 (2)自动填充 (3)乐观锁 (4)逻辑删除 (5)代码生成器 5.EasyExcel (1)阿里巴巴提供操作excel工具,代码简洁,效率很高 (2)EasyExcel对poi进行封装,采用SAX方式解析 (3)项目应用在添加课程分类,读取excel数据 6.Spring Security (1)在项目整合框架实现权限管理功能 (2)SpringSecurity框架组成:认证和授权 (3)SpringSecurity登录认证过程 (4)SpringSecurity代码执行过程 7.redis (1)首页数据通过Redis进行缓存 (2)Redis数据类型 (3)使用Redis作为缓存,不太重要或者不经常改变数据适合放到Redis作为缓存 8.Nginx (1)反向代理服务器 (2)请求转发,负载均衡,动静分离 9.OAuth2+JWT (1)OAuth2针对特定问题解决方案 (2)JWT包含三部分 10.HttpClient (1)发送请求返回响应的工具,不需要浏览器完成请求和响应的过程 (2)应用场景:微信登录获取扫描人信息,微信支付查询支付状态 11.Cookie (1)Cookie特点: * 客户端技术 * 每次发送请求带着cookie值进行发送 * cookie有默认会话级别,关闭浏览器cookie默认不存在了, * 但是可以设置cookie有效时长 setMaxAge 12.微信登录 13.微信支付 14阿里云OSS (1)文件存储服务器 (2)添加讲师时候上传讲师头像 15.阿里云视频点播 (1)视频上传、删除、播放 (2)整合阿里云视频播放器进行视频播放 * 使用视频播放凭证 16.阿里云短信服务 (1)注册时候,发送手机验证码 17.Git (1)代码提交到远程Git仓库 18.Docker+Jenkins (1)手动打包运行 (2)idea打包 (3)jenkins自动化部署过程