一个前后端分离的电商系统项目,基于 Spring Boot + Vue 3 开发。
本项目是一个完整的电商系统,包含前台商城和后台管理功能。前台提供商品浏览、搜索、详情查看、购物车等核心功能;后台提供用户管理、商品管理、分类管理、轮播图管理等管理功能。
- 框架: Spring Boot 2.7.18
- Java版本: JDK 8
- 数据库: MySQL 5.7+
- ORM: MyBatis-Plus 3.5.3.1
- 构建工具: Maven 3.9+
- 验证码: easy-captcha 1.6.2
- 框架: Vue 3.4.0
- 语言: TypeScript 5.3.3
- 构建工具: Vite 5.0.0
- 路由: Vue Router 4.2.5
- 状态管理: Pinia 2.1.7
- HTTP客户端: Axios 1.6.0
- UI框架: Bootstrap 4.6.2
- 图标: Bootstrap Icons 1.10.5
后端:
- JDK 8 或更高版本
- Maven 3.9+
- MySQL 5.7+ 或 8.0+
前端:
- Node.js 16+
- npm 或 yarn
创建数据库(如未创建):
CREATE DATABASE mall CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;导入数据库脚本(如有):
-- 执行参考资料/教学视频资料/mall项目/mall项目后端 - 教学视频/mall.sql# 进入后端目录
cd backend
# 配置数据库(可选,默认使用 root/123456)
# 方式1:设置环境变量
export DB_USERNAME=your_username
export DB_PASSWORD=your_password
export DB_URL=jdbc:mysql://localhost:3306/mall?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf-8
# 方式2:修改 src/main/resources/application.yml
# 启动后端服务
mvn spring-boot:run后端服务运行在:http://localhost:8080
# 进入前端目录
cd frontend
# 安装依赖(首次运行)
npm install
# 启动开发服务器
npm run dev前端服务运行在:http://localhost:5173
- 前台商城: http://localhost:5173/
- 登录页面: http://localhost:5173/login
- 注册页面: http://localhost:5173/register
- 后台管理: http://localhost:5173/admin/*
ruankaishixun/
├── backend/ # 后端项目
│ ├── src/
│ │ ├── main/java/ # Java源码
│ │ │ └── com/example/mall/
│ │ │ ├── controller/ # 控制器(REST API)
│ │ │ ├── service/ # 服务层
│ │ │ ├── dao/ # 数据访问层
│ │ │ ├── entity/ # 实体类
│ │ │ └── dto/ # 数据传输对象
│ │ └── main/resources/
│ │ ├── application.yml # 配置文件
│ │ └── mapper/ # MyBatis XML映射
│ ├── pom.xml # Maven配置
│ └── README.md # 后端文档
│
├── frontend/ # 前端项目
│ ├── src/
│ │ ├── api/ # API接口封装
│ │ ├── router/ # 路由配置
│ │ ├── store/ # 状态管理(Pinia)
│ │ ├── utils/ # 工具函数
│ │ ├── views/ # 页面组件
│ │ ├── App.vue # 根组件
│ │ └── main.ts # 入口文件
│ ├── public/
│ │ ├── assets/ # 静态资源(图片等)
│ │ └── libs/ # 第三方库(Bootstrap等)
│ ├── package.json # 依赖配置
│ ├── vite.config.ts # Vite配置
│ └── README.md # 前端文档
│
└── README.md # 项目主文档(本文件)
- ✅ 商城首页(分类导航、轮播图、商品推荐)
- ✅ 商品列表(分类筛选、关键词搜索、价格排序)
- ✅ 商品详情(图片轮播、商品信息、加入购物车)
- ✅ 购物车(商品管理、数量修改、批量删除)
- ✅ 用户登录/注册(验证码验证)
- ✅ 用户管理(列表、编辑、批量删除)
- ✅ 分类管理(增删改查)
- ✅ 轮播图管理(增删改查)
- ✅ 商品管理(增删改查、搜索、排序、图片路径自动生成)
# 启动开发服务器
cd backend
mvn spring-boot:run
# 编译打包
mvn clean package -DskipTests
# 仅编译
mvn compile -DskipTests# 启动开发服务器
cd frontend
npm run dev
# 构建生产版本
npm run build
# 预览构建产物
npm run preview
# 类型检查
npm run type-check- 用户名:
root(可通过环境变量DB_USERNAME修改) - 密码:
123456(可通过环境变量DB_PASSWORD修改) - 数据库:
mall(可通过环境变量DB_URL修改) - 端口:
3306
- 后端:
8080 - 前端:
5173
前端通过 Vite 代理 /api 到后端 http://localhost:8080
- 图片资源: 所有图片放在
frontend/public/assets/目录下 - 商品图片路径: 使用分类编码提取数字生成路径(如 C003 → c3)
- 状态管理: 用户信息存储在 localStorage,页面刷新后自动恢复
- 逻辑删除: 所有删除操作均为逻辑删除,数据不会真正从数据库删除
- 验证码: 登录和注册需要验证码,通过
/common/captcha接口获取
- 检查 MySQL 是否运行
- 检查数据库连接配置是否正确
- 查看
application.yml配置
- 确认后端服务运行在 8080 端口
- 检查 Vite 代理配置(
vite.config.ts) - 查看浏览器控制台网络请求
- 确认图片在
frontend/public/assets/目录下 - 检查路径格式是否正确
- 查看浏览器控制台是否有 404 错误
本项目为软件工程开发实训项目。
本项目为教学实训项目,欢迎提出改进建议。