基于SpringMVC+Spring+MyBatis实现秒杀系统【概况】
前言
本教程使用SpringMVC+Spring+MyBatis+MySQL实现一个秒杀系统。教程素材来自慕课网视频教程【https://www.imooc.com/learn/631】。有感兴趣的可以直接看慕课网视频,老师讲的不错,整个系统设计思路也很清晰。本文是我学习Spring时的一手资料,这篇文章先来看看概况,后续会分三篇文章分别介绍:底层Dao接口、Service接口、前端交互。
前台页面用到了Bootstrap提供的结构来实现页面。
系统设计
涉及到的知识点:MySQL、SpringMVC、Spring、MyBatis、jsp、jstl。数据库连接池用的c3p0,日志用的logback。
我在本地开发时数据库装在CentOS7里。编码在windows里做。
概况
开篇主要想分享下学习的一点点感悟,仅仅是一点点感悟,视频看了两遍,觉的老师在前台交互方面的设计思路比较独到,而且讲解比较清晰,比如在页面里先暴漏秒杀地址、倒计时显示秒杀活动开始时间、【ajax】请求时把业务参数直接放在路径里、用模态对话框模拟用户登录。 视频在编写程序的同时还给你提醒什么地方我们应该查询官方文档。查询官方文档配置xml的同时还要搞清楚这个配置背后都做了那些工作,比如spring-web.xml中<mvc:annotation-driven/>都做了那些工作,这是springMVC为我们默认自动注册了DefaultAnnotationHandlerMapping、AnnotationMethodHandleAdapter。同时提供了数据绑定、数字、日期的格式、xml、json默认读写支持。
细节方面分享了如何设计合理的Restful接口、暴漏秒杀地址、实现秒杀、以及秒杀接口返回给客户端时的实体结构、枚举类型等等。
先贴几张图看看实现效果:
1、模拟用户登录
用户登录在客户端cookie里保存了用户的手机号,页面初始化时读取这个cookie来判断用户是否登录。
2、秒杀列表
列表页直接读取数据库所有记录
3、秒杀详情
活动未开始,显示倒计时效果
活动开始,显示秒杀按钮。秒杀按钮是在程序里用js判断活动是否开始,开始时直接创建一个按钮并且附加click时间实现秒杀逻辑
重复秒杀
总结
想入门SpringMVC系列的,这个教程值得推荐。
附上源码地址:https://github.com/garfieldzf8/seckill
- 基于SpringMVC+Spring+MyBatis实现秒杀系统【业务逻辑】
- 基于SpringMVC+Spring+MyBatis实现秒杀系统【数据库接口】
- 基于SpringMVC+Spring+MyBatis实现秒杀系统【客户端交互】
- 基于Spring+SpringMVC+Mybatis的秒杀系统之Dao层(1)
- 基于Spring+SpringMVC+Mybatis的秒杀系统之Service层(2)
- 基于Spring+SpringMVC+Mybatis的秒杀系统之web层(3)
- 基于Spring+SpringMVC+MyBatis实现高并发秒杀APIM
- [置顶] maven web基于spring+mybatis+springmvc框架搭建选课网站系统
- SpringMVC学习系列之 基于Hibernate+Spring+Spring MVC+Bootstrap的管理系统实现
- SpringMVC学习系列(12) 完结篇 之 基于Hibernate+Spring+Spring MVC+Bootstrap的管理系统实现
- 基于Spring+SpringMVC+Mybatis分布式敏捷开发系统架构---权限管理系统
- 基于spring mvc + spring+mybatis+easyui+jquery+maven+mysql的后台权限管理系统
- springMVC +Mybatis +spring aop 实现用户系统操作日志记录
- SpringMVC学习系列(12) 完结篇 之 基于Hibernate+Spring+Spring MVC+Bootstrap的管理系统实现
- J2EE项目系列(四)--SSM框架构建积分系统和基本商品检索系统(Spring+SpringMVC+MyBatis)(3)Ajax使用详解(级联列表)以及企业级报表Excel导入导出实现
- spring boot+mvc+mybatis+netty-sokey.io+html+js实现简单即时通讯聊天系统
- SpringMVC学习系列(11) 完结篇 之 基于Hibernate+Spring+Spring MVC+Bootstrap的管理系统实现
- SpringMVC学习(12):基于Hibernate+Spring+Spring MVC+Bootstrap的管理系统实现
- zTree的调用设使用(跨两个系统,两类技术实现的项目案例SpringMVC+Spring+MyBatis和Struts2+Spring+ibatis框架组合)
- 基于Spring+SpringMVC+Hibernate框架系统, 利用SpringAOP实现写日志,切入点的Controller层出现@AutoWire 注入Service为null的情况分析