1. 功能描述和所用技术点
功能: 登陆注册 、课程列表、课程详情(包含倒计时和秒杀功能)、我的订单功能、高并发优化(采用kafka)
技术:前后端分离开发springboot +vue.js
本项目用到的数据库是基于linux的数据库。 可以自行设置连接为window本地数据库。若需了解linux端的相关配置,请参考linux教程系列:
连接: https://www.cnblogs.com/android-zcq/p/12187725.html
1.1 登陆后台功能:
1. springboot的数据操作、事务管理、控制器以及模板引擎
2. 登陆功能的安全策略,验证码和MD5加盐操作
3. 使用redis优化登陆
4. 实现分布式session登陆方案,为前后端分离做准备
1.2 前端开发
1.界面构成、跳转关系、组件划分、文件结构
2.使用vue-router路由控制、element-UI组件库、axios异步加载
3.前后端对接: 打包和部署
4.保持前后端分离的跨域登录状态解决方案
2.工程搭建
使用idea创建spring boot工程(工程创建方式可以通过https://start.spring.io创建或者使用idea工具创建) ,pom.xml内容如下
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.2.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.zcq</groupId>
<artifactId>seckill1</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>seckill1</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<!--运维监控接口,监控项目健康情况-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<!--springboot-jpa-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<!--redis-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<!--模板引擎-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!--热部署-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
<optional>true</optional>
</dependency>
<!--mysql-->
<!-- <dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>-->
<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
<dependency>