1、架构思想:前后端分离
术业有专攻
前端同事集中精力做前端页面的效果,bootstrap模板支撑,js,css,html,jq的代码逻辑通过ajax进行接口的请求调用,达到获取服务器数据的目的。
后端同事也是尽其所能的做好自己的事情,分层架构,模型的选取,接口、数据库设计,性能研究,不需要像jsp那样,还需要去操作前端的代码逻辑,填充数据。
2、搭建项目,目录结构
搭建基础的spring-boot项目有两种方式:

  1. spring-boot官方提供的工程初始化网站,进入之后可以根据自己的需求,选择对应的参数,然后generate project,下载好的压缩包,解压后,导入idea
  2. 直接使用idea进行工程创建,
    其实就是步骤1的桌面版本,效果是一样的

3、项目结构,设计思想

自此我们就完成了最基础的项目搭建,下来我们就要逐步开始我们的电商项目开发:

  1. Controller和接口设计
  2. 领域模型,数据库dao,viewmodel设计
    确定下来数据库的分表,字段之后,创建数据库,相应的表完成后,采用mybatis进行generotor映射自动生成dao,mapper.xml和基本CRUD的mapper interface,具体的内容配置如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE generatorConfigurationPUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN""http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd"><generatorConfiguration><context id="MysqlContext" targetRuntime="MyBatis3Simple" defaultModelType="flat"><property name="beginningDelimiter" value="`"/><property name="endingDelimiter" value="`"/><jdbcConnection driverClass="com.mysql.jdbc.Driver"connectionURL="jdbc:mysql://localhost:3306/miaosha?useSSL=false"userId="root"password="root"></jdbcConnection><!-- 对于生成的pojo所在包 --><javaModelGenerator targetPackage="com.miaoshaproject.dataObject" targetProject="src/main/java"/><!-- 配置mapper对应的java映射 --><javaClientGenerator targetPackage="com.miaoshaproject.dao" targetProject="src/main/java"type="XMLMAPPER"/><!-- 对于生成的mapper所在目录 --><sqlMapGenerator targetPackage="mapping" targetProject="src/main/resources"/><!--        <table tableName="user_info" domainObjectName="UserDO"></table>-->
<!--        <table tableName="user_password" domainObjectName="UserPasswordDO"></table>-->
<!--        <table tableName="item" domainObjectName="ItemDO"></table>-->
<!--        <table tableName="item_stock" domainObjectName="ItemStockDO"></table>--><!--        <table tableName="order_info" domainObjectName="OrderDO"></table>-->
<!--        <table tableName="sequence_info" domainObjectName="SequenceDO"></table>-->
<!--        <table tableName="promo" domainObjectName="PromoDO"></table>--></context>
</generatorConfiguration>

这里有一个需要注意的地方,也错误操作了好多次,我们的需求如果需要自己写查询相关的操作,会在mapper的interface中添加方法,对应的mapper.xml中也会对应修改,但如果有新的对象加入我们会重新导入,导致替换覆盖了我们之前写的方法,最好的做法就是注释掉一个已有的table映射,切记。

RedisConfig:确定工程使用redis,以及做一些自定义的配置,超时失效时间等等
WebServerConfiguration:定制化tomcat的一些相关操作
error,response: 全局封装的返回方式和错误归类
validator: 校验类

下来就是简单的前端页面:
我们使用bootstrap封装好的框架,上层写了几个简单的页面进行逻辑调试:

秒杀项目源码

4、云端部署

5、分布式部署

6、项目中遇到的问题

7、特别感谢
慕课网:龙虾三少 给出的详细指导。

Java小白 电商项目总结相关推荐

  1. Java开源电商项目比较

    这里比较的都是国外的开源项目,备选项目有: Smilehouse Workspace.Pulse.Shopizer.ofbiz.bigfish.broadleaf 1.Smilehouse Works ...

  2. Java开源电商项目比較

    这里比較的都是国外的开源项目,备选项目有: Smilehouse Workspace.Pulse.Shopizer.ofbiz.bigfish.broadleaf 1.Smilehouse Works ...

  3. java 开源微信电商项目

    2016年微店悄悄流行起来,各种微信电商平台层出不穷.由于低成本,新渠道,借助于微信强大的社交功能,无疑是突破淘宝垄断的一个好方式. 本人也抱着试一试的态度,开始业余微店的开发. 我的微店大致功能如下 ...

  4. Java项目:网上电商项目(前后端分离+java+vue+Springboot+ssm+mysql+maven+redis)

    源码获取:博客首页 "资源" 里下载! 一.项目简述 本系统功能包括: 一款基于Springboot+Vue的电商项目,前后端分离项目,前台后台都有,前台商品展示购买,购物车分类, ...

  5. Java开发技术大杂烩(三)之电商项目优化、rabbitmq、Git、OSI、VIM、Intellj IDEA、HTTP、JS、Java...

    前言 最近公司让我维护Spring+Servlet+Hibernate+Spring Security+Jsp的老项目,正好可以锻炼我的业务逻辑和掌控项目的能力.虽然项目很老,但是其中还是有很多值我学 ...

  6. java 电商锁库存实现_电商项目扣减库存方案

    阿里巴巴b2b电商算法实战电子商务 85.3元 包邮 (需用券) 去购买 > 各位小宝贝们,大家是不是在面试过程中经常被问到,你电商项目扣减库存时,到底是下单减库存呢?还是付款减库存? 那今天给 ...

  7. java电商秒杀深度优化_【B0796】Java性能优化亿级流量秒杀方案及电商项目秒杀实操2020视频教程...

    Java视频教程名称:Java性能优化亿级流量秒杀方案及电商项目秒杀实操2020视频教程    java自学网[javazx.com]  性能视频教程   it教程 Java自学网收集整理 java论 ...

  8. JAVA项目实战开发电商项目案例(十)订单与支付模块

    文章目录 1项目架构 2项目采用技术 3订单与支付模块功能演示 4如何开发支付宝的支付模块以及订单模块 4.1首先需要编写前端页面以及JS文件 4.2其次需要编写JAVA后台接口 4.3支付模块分析 ...

  9. java spu sku_SpringBoot电商项目实战 — 商品的SPU/SKU实现

    最近事情有点多,所以系列文章已停止好多天了.今天我们继续Springboot电商项目实战系列文章.到目前为止,整个项目的架构和基础服务已经全部实现,分布式锁也已经讲过了.那么,现在应该到数据库设计及代 ...

最新文章

  1. Redis以及Redis的php扩展安装无错版
  2. 会用python把linux命令写一遍的人,进大厂有多容易?
  3. mysql隔离级别 简书_InnoDB 事务隔离级别(Mysql篇)
  4. DL之SSD:基于tensorflow利用SSD算法实现目标检测(21类)
  5. vc++ 6.0 创建程序快捷方式的一个例子源码_漏洞复现:phpcms v9.6.0任意文件上传漏洞(CVE201814399)...
  6. 重磅!这个 GitHub 汇总了 300 道 Python 面试题!
  7. html透明页面锁定窗口,CSS弹出背景半透明窗口
  8. 这个深度学习工业质检工具,效率提升30%,质量提高80%
  9. BZOJ1305 [CQOI2009]dance跳舞 【网络流】
  10. It's my life
  11. Java学生成绩管理系统(一次学会java类及容器使用,内含java编程小tips)
  12. 《信号与系统》(吴京)部分课后习题答案与解析——第二章(PART2)
  13. E680I使用上的常见问题小结
  14. js 系统教程-05-js 数据类型数字 NaN Infinity
  15. eclipse下载安装、配置tomcat、Maven、lombok
  16. Camera360 一款强大的手机拍照必备软件
  17. 运行npm install 出现thon Python is not set from command line or npm configuration解决方案
  18. 【Deepstream-gst-metadata-test例子解析】
  19. 自动车牌识别(ALPR)---https://blog.csdn.net/ELEVEN_ZOU/article/details/80893579
  20. Day11:文件和异常

热门文章

  1. 【MATLAB】imadjust, histeq, adapthisteq调整图像对比度
  2. 解决C盘IE收藏夹复制时提示没有权限,不需要改注册表
  3. 车脉科技:业内首创“车企体验式营销“
  4. 10_linux内核定时器实验
  5. 如何将谷歌浏览器的书签导出?
  6. 美国金融工程计算机要学哪些,美国金融工程
  7. 路由器lan和wan的解释和网线插入
  8. springboot 定时任务 Scheduled(fixedRate ,fixedDelay ,initialDelay,cron)使用
  9. TensorFlow 制作自己的TFRecord数据集
  10. jd-Gui for myEclipse