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>