在线商城系统(Spring Boot + Mybatis)

项目简介

通过Spring Boot构建一个简单的在线商城系统,主要功能包括:用户注册、用户登录、添加商品、浏览商品、商品详情页、个人主页、余额充值、购买商品、查看订单等。本文主要介绍业务流程和项目架构,为节省篇幅,完整代码不做详细解释。完整项目可以在GitHub中下载,链接:在线商城系统

软件与开发环境

  • 操作系统:Windows10
  • 开发软件: IntelliJ IDEA 2021.2.3,Navicat Premium 15.0.23
  • 编程语言:JDK 1.8,MySQL 8.0.27
  • 浏览器:Firefox 98.0.2

业务流程

  • 业务核心:库存的处理

用户购买商品后,减少库存和用户余额,最后记录购买记录,三者组成一个完整的事务,避免超卖和少卖。

  • 业务难点:竞争

通过使用事务和行级锁解决。事务流程:开启事务->更新库存->更新余额->插入购买记录->提交。

应用技术

  • 项目管理:Maven
  • 开发语言:Java、MySQL、HTML、CSS、JavaScript
  • 框架:Spring Boot、Mybatis、jQuery
  • 设计模式:单例模式、包装器模式

项目开发

  • DAO:通过mybatis-generator实现DOMapper和DAO接口。
  • MVC:通过model和viewobject之间的转换,避免敏感信息(密码、余额等)透传给前端。其中商品价格用BigDecimal存储,避免精度损失。
  • Web:通过Restful接口和前端交互,前端使用ajax接收数据。通过@CrossOrigin和在ajax中设置xhrFields避免跨域问题。
  • Service:通过Spring管理service,通过Spring的声明式事务进行事务控制。
  • Exception:通过enum设置错误码和错误信息,在BaseController.java中捕获异常。
  • 用户登录:校验手机号和密码,成功登录后session中存放IS_LOGIN和LOGIN_USER。
  • 商城界面:展示商品,点击单个商品后进入商品详情页,通过GET获得单个商品信息。
  • 下单:判断用户是否登录(IS_LOGIN)、校验(库存,余额等)、减商品库存和用户余额、添加购买记录。

项目截图

登录界面

添加商品

查看订单

注册用户

扫描二维码关注公众号,回复: 17096826 查看本文章

商城主界面

商品详情页

 

 用户中心

猜你喜欢

转载自blog.csdn.net/alpha105/article/details/128524607