开发微服务电商项目演示(一)
创始人
2024-05-23 14:59:18

从本期开始为大家讲解一个微服务电商项目的一个开发过程 其中包括以下等技术

1.项目框架及多模块开发
2.mybatis与微服务注册
3.服务调用&分布式session
4.网关服务限流熔断降级&分布式事务
5.商品秒杀展示
6.商品秒杀接口测压及优化
7.消息推送
8.分布式锁

一.项目模式

电商模式:市面上有5种常见的电商模式,B2B(商家对商家)、B2C(商家对客户)、 C2B(客户对商家)、 C2C(商家对商家)、O2O(线上对线下);
1、B2B模式B2B (Business to Business),是指 商家与商家建立的商业关系。如:阿里巴巴
2、B2C 模式B2C (Business to Consumer),就是我们经常看到的供应商直接把商品卖给用户,即“商对客”模式,也就是通常说的商业零售,直接面向消费者销售产品和服务。如:苏宁易购、京东、天猫、小米商城
3、C2B模式C2B(CustomertoBusiness),即消费者对企业。先有消费者需求产生而后有企业生产,即先有消费者提出需求,后有生产企业按需求组织生产
4、C2C模式C2C (Customer to Consumer),客户之间自己把东西放上网去卖,如:淘宝,闲鱼
5、O2O模式O2O即Online To Ofline,也即将线下商务的机会与互联网结合在了一起,让互联网成为线下交易的前台。线上快速支付,线下优质服务。如:饿了么,美团,淘票票,京东到家

二.技术栈

  • 前端 html css js jquery freemarker vue

  • 基础 javaSE javaEE

  • 框架 spring springMVC springBoot mybatis mybatis-plus

  • 安全 shiro(spring security)

  • 微服务 springCloud springCloud alibaba

  • 数据库 mysql

  • 测试 junit jmeter

三.项目架构图

图一

图二

四.模块

五.案例演示

主模块

  1. 在idea中基于maven方式创建主模块zmall,创建成功之后删除src目录即可。

  1. 配置主模块pom.xml

2.1 依赖版本锁定


1.8UTF-8UTF-82.3.2.RELEASEHoxton.SR92.2.6.RELEASE

2.2 dependencyManagement配置

org.springframework.bootspring-boot-dependencies${spring-boot.version}pomimportorg.springframework.cloudspring-cloud-dependencies${spring-cloud.version}pomimportcom.alibaba.cloudspring-cloud-alibaba-dependencies${spring-cloud-alibaba.version}pomimport

2.3 子模块定义

zmall-commonzmall-user

2.4 设置maven编译版本

org.apache.maven.pluginsmaven-compiler-plugin1.81.8

zmall-common子模块

  1. 基于maven方式创建zmall-common公共子模块。注:zmall-common公共模块只为其他模块提供依赖支持。

  1. 配置pom.xml

com.baomidoumybatis-plus-boot-starter3.4.0mysqlmysql-connector-java5.1.44runtimecom.alibabafastjson1.2.56org.projectlomboklombokorg.springframework.bootspring-boot-starter-weborg.springframework.bootspring-boot-starter-freemarker

zmall-user子模块

  1. 基于Spring Initialzr方式创建zmall-user用户模块。

  1. 配置pom.xml。设置父模块,并添加zmall-common公共模块的依赖支持。


com.zking.zmallzmall1.0-SNAPSHOT

com.zking.zmallzmall-common1.0-SNAPSHOT
  1. 添加登录页面及公共资源(js/css/images)

1)我将资料目录中的《易买网网页素材.zip》解压后,将其中Login.html和js/css/images等等添加到项目的templates和static目录下,最好请将Login.html重命名为login.html

2)导入资料目录中的common目录到项目的templates目录下

3)在login.html页面中的头部申明修改成(支持H5风格)

4)在login.html页面中通过<#include>指令引入common目录中的head.html

<#include 'common/head.html'>

5)创建UserController并定义login.html页面跳转方式

@Controller
public class UserController {@RequestMapping("/login.html")public String login(){return "login";}
}

zmall-user结构如下

4.配置application.yml

server:port: 8010
spring:application:name: zmall-userdatasource:#type连接池类型 DBCP,C3P0,Hikari,Druid,默认为Hikari,HikariDataSource属于Mybatisplus依赖type: com.zaxxer.hikari.HikariDataSourcedriver-class-name: com.mysql.jdbc.Driverurl: jdbc:mysql://localhost:3306/zmall?useUnicode=true&characterEncoding=UTF-8&useSSL=falseusername: rootpassword: 1234freemarker:suffix: .htmltemplate-loader-path: classpath:/templates/mvc:static-path-pattern: /static/**

最终的效果图

相关内容

热门资讯

北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...