当前位置: 首页 > news >正文

微服务项目简介

项目简介

项目模式

电商模式:市面上有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

项目架构图

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-w5ltbI29-1676076039866)(images\SpringCloud微服务系统架构图.png)]

图1

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-meR0OB5e-1676076039877)(images\zmall.png)]

图2

模块

模块名端口名称说明
zmall-common公共
zmall-user8010用户服务
zmall-product8020产品服务
zmall-cart8030购物车服务
zmall-order8040订单服务
zmall-play8050支付服务
zmall-kill8060秒杀服务
zmall-gateway8000网关服务

案例演示

主模块

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

  2. 配置主模块pom.xml

    2.1 依赖版本锁定

    <!--依赖版本的锁定-->
    <properties><java.version>1.8</java.version><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding><spring-boot.version>2.3.2.RELEASE</spring-boot.version><spring-cloud.version>Hoxton.SR9</spring-cloud.version><spring-cloud-alibaba.version>2.2.6.RELEASE</spring-cloud-alibaba.version>
    </properties>
    

    2.2 dependencyManagement配置

    <dependencyManagement><dependencies><!-- SpringBoot 依赖配置 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-dependencies</artifactId><version>${spring-boot.version}</version><type>pom</type><scope>import</scope></dependency><!--spring-cloud依赖配置--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies</artifactId><version>${spring-cloud.version}</version><type>pom</type><scope>import</scope></dependency><!--spring-cloud-alibaba依赖配置--><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-alibaba-dependencies</artifactId><version>${spring-cloud-alibaba.version}</version><type>pom</type><scope>import</scope></dependency></dependencies>
    </dependencyManagement>
    

    2.3 子模块定义

    <modules><module>zmall-common</module><module>zmall-user</module>
    </modules>
    

    2.4 设置maven编译版本

    <plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><configuration><source>1.8</source><target>1.8</target></configuration>
    </plugin>
    

zmall-common子模块

  1. 基于maven方式创建zmall-common公共子模块。注:zmall-common公共模块只为其他模块提供依赖支持。
  2. 配置pom.xml
<dependencies><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.44</version><scope>runtime</scope></dependency><dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.56</version></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-freemarker</artifactId></dependency>
</dependencies>

zmall-user子模块

  1. 基于Spring Initialzr方式创建zmall-user用户模块。
  2. 配置pom.xml。设置父模块,并添加zmall-common公共模块的依赖支持。
<!-- 父模块 -->
<parent><groupId>com.zking.zmall</groupId><artifactId>zmall</artifactId><version>1.0-SNAPSHOT</version>
</parent>
<dependencies><dependency><groupId>com.zking.zmall</groupId><artifactId>zmall-common</artifactId><version>1.0-SNAPSHOT</version></dependency>
</dependencies>
  1. 添加登录页面及公共资源(js/css/images)

    1)将其中Login.html和js/css/images等等添加到项目的templates和static目录下

    2)将common目录复制到项目的templates目录下

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

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

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

  2. 配置application.yml

server:port: 8010
spring:application:name: zmall-userdatasource:#type连接池类型 DBCP,C3P0,Hikari,Druid,默认为Hikaritype: 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/
http://www.lryc.cn/news/2400.html

相关文章:

  • SLAM中坐标轴旋转及ros的接口解释
  • 文件管理(9)
  • PyTorch学习笔记:nn.TripletMarginLoss——三元组损失
  • 冒泡排序详解
  • git极快上手指南超级精简版
  • 蓝桥杯-最长公共子序列(线性dp)
  • GO的并发模式Context
  • 《Redis实战篇》六、秒杀优化
  • 《C++ Primer Plus》第16章:string类和标准模板库(11)
  • 声明和定义
  • Python获取最小路径,查找元素在list中的坐标
  • 数据采集协同架构,集成马扎克、西门子、海德汉、广数、凯恩帝、三菱、海德汉、兄弟、哈斯、宝元、新代、发那科、华中各类数控以及各类PLC数据采集软件
  • Allegro172版本如何用自带的功能实现快速在1MMBGA下方等距放置电容
  • 一种简单的统计pytorch模型参数量的方法
  • 【PyTorch】教程:对抗学习实例生成
  • 中国区使用Open AI账号试用Chat GPT指南
  • STM32开发(9)----CubeMX配置外部中断
  • Nextjs了解内容
  • 从事功能测试1年,裸辞1个月,找不到工作的“我”怎么办?
  • 机器学习基本原理总结
  • JVET-AC0315:用于色度帧内预测的跨分量Merge模式
  • Session与Cookie的区别(二)
  • 疫情开发,软件测试行情趋势是怎么样的?
  • Java中间件描述与使用,面试可以用
  • [OpenMMLab]AI实战营第七节课
  • 面向对象的设计模式
  • 里氏替换原则|SOLID as a rock
  • 【C++】右左法则,指针、函数与数组
  • 打通数据价值链,百分点数据科学基础平台实现数据到决策的价值转换 | 爱分析调研
  • C++之多态【详细总结】