B2B ( Business to Business)是指进行电子商务交易的供需双方都是商家(或企业、公司),她(他)们使用了互联网的技术或各种商务网络平台,完成商务交易的过程。电子商务是现代 B2B marketing的一种具体主要的表现形式。
案例:阿里巴巴、慧聪网
C2C即 Customer(Consumer) to Customer(Consumer),意思就是消费者个人间的电子商务行为。比如一个消费者有一台电脑,通过网络进行交易,把它出售给另外一个消费者,此种交易类型就称为C2C电子商务。
案例:淘宝、易趣、瓜子二手车、闲鱼
B2C是Business-to-Customer的缩写,而其中文简称为“商对客”。“商对客”是电子商务的一种模式,也就是通常说的直接面向消费者销售产品和服务商业零售模式。这种形式的电子商务一般以网络零售业为主,主要借助于互联网开展在线销售活动。B2C即企业通过互联网为消费者提供一个新型的购物环境——网上商店,消费者通过网络在网上购物、网上支付等消费行为。
案例:唯品会、乐蜂网
C2B(Consumer to Business,即消费者到企业),是互联网经济时代新的商业模式。这一模式改变了原有生产者(企业和机构)和消费者的关系,是一种消费者贡献价值(Create Value), 企业和机构消费价值(Consume Value)。
C2B模式和我们熟知的供需模式(DSM, Demand SupplyModel)恰恰相反,真正的C2B 应该先有消费者需求产生而后有企业生产,即先有消费者提出需求,后有生产企业按需求组织生产。通常情况为消费者根据自身需求定制产品和价格,或主动参与产品设计、生产和定价,产品、价格等彰显消费者的个性化需求,生产企业进行定制化生产。
案例:海尔商城、 尚品宅配
O2O即Online To Offline(在线离线/线上到线下),是指将线下的商务机会与互联网结合,让互联网成为线下交易的平台,这个概念最早来源于美国。O2O的概念非常广泛,既可涉及到线上,又可涉及到线下,可以通称为O2O。主流商业管理课程均对O2O这种新型的商业模式有所介绍及关注。
案例:美团、饿了吗
B2B2C是一种电子商务类型的网络购物商业模式,B是BUSINESS的简称,C是CUSTOMER的简称,第一个B指的是商品或服务的供应商,第二个B指的是从事电子商务的企业,C则是表示消费者。
案例:京东商城、天猫商城
SpringBoot:简化新Spring应用的初始搭建以及开发过程
SpringCloud:基于Spring Boot实现的云原生应用开发工具,SpringCloud使用的技术:(Spring Cloud Gateway、Spring Cloud Alibaba Nacos、Spring Cloud Alibaba Sentinel、Spring Cloud Task和Spring Cloud Feign等)
MyBatis-Plus/通用Mapper:持久层框架
Redis:内存做缓存
Redisson:基于redis的Java驻内存数据网格 - 框架
RabbitMQ:消息中间件
ElasticSearch+Kibana: 全文检索服务器+可视化数据监控
ThreadPoolExecutor:线程池来实现异步操作,提供效率
Thymeleaf:页面模板技术
Swagger2/POSTMAN:Api接口文档工具
Fastdfs:分布式文件存储 类似于oss
支付宝支付:alipay.com
Mysql:关系型数据库 {mycat/sharding-jdbc 进行分库,分表}
Lombok: 实体类的中get,set 生成的jar包
Ngrok/natapp:内网穿透
Docker:容器技术
Git:代码管理工具
DockerFile:管理Docker镜像命令文本
Jenkins:持续集成工具
Vue.js:web 界面的渐进式框架
Node.js: JavaScript 运行环境
NPM:包管理器
Ip:192.168.200.128
登录用户:root
登录密码:123456
在虚拟机中安装
mysql,redis,nacos,sentinel,jdk,elasticsearch,rabbitmq... 都是开机自启动!
使用第三方工具连接mysql:
nacos: http://192.168.200.128:8848/nacos
sentinel: http://192.168.200.128:8858/#/dashboard
用户名:密码:sentinel
mysql 用户名:root ,密码:root
rabbitmq: http://192.168.200.128:15672/#/ 用户名,密码 guest
es: http://192.168.200.128:9200/
kibana:http://192.168.200.128:5601/app/kibana
Zikpkin: http://192.168.200.128:9411/zipkin/
作用: 能够直接修改C:\Windows\System32\drivers\etc\hosts 文件!
修改系统hosts文件
# gmall 192.168.200.1 file.service.com www.gmall.com item.gmall.com order.gmall.com payment.gmall.com 192.168.200.1 activity.gmall.com passport.gmall.com cart.gmall.com list.gmall.com api.gmall.com |
创建maven工程mallparent:父工程
pom.xml
4.0.0
org.example
mallparent
1.0-SNAPSHOT
org.springframework.boot
spring-boot-starter-parent
2.2.1.RELEASE
pom
1.8
Hoxton.RELEASE
0.2.2.RELEASE
1.0
3.0.5
5.1.46
2.7.0
1.27.0.0
1.18.10
org.springframework.cloud
spring-cloud-dependencies
${cloud.version}
pom
import
org.springframework.cloud
spring-cloud-alibaba-dependencies
${cloud.alibaba.version}
pom
import
com.baomidou
mybatis-plus-boot-starter
${mybatis-plus.version}
mysql
mysql-connector-java
${mysql.version}
io.springfox
springfox-swagger2
${swagger.version}
io.springfox
springfox-swagger-ui
${swagger.version}
net.oschina.zcx7878
fastdfs-client-java
${fastdfs.version}
org.projectlombok
lombok
${lombok.version}
common:公共模块父节点
common-util:工具类模块,所有模块都可以依赖于它
service-util:service服务的工具包,包含service服务的公共配置类,所有 service模块依赖于它
新建maven项目common
pom.xml
pom
org.springframework.boot
spring-boot-starter-web
provided
org.projectlombok
lombok
io.springfox
springfox-swagger2
io.springfox
springfox-swagger-ui
com.alibaba
fastjson
1.2.29
org.springframework.cloud
spring-cloud-starter-openfeign
provided
org.apache.httpcomponents
httpclient
添加工具类
GmallException |
自定义全局异常 |
Result |
API统一返回结果封装类 |
ResultCodeEnum |
API统一返回结果状态信息 |
AuthContextHolder |
获取登录用户信息类 |
HttpClientUtil |
http客户端类 |
MD5 |
通过MD5给字符串加密的工具类 |
IpUtil |
获取Ip地址的工具类 |
DateUitl |
日期比较工具类 |
pom.xml
com.Zh
common-util
1.0-SNAPSHOT
org.springframework.boot
spring-boot-starter-data-redis
org.apache.commons
commons-pool2
2.6.0
org.redisson
redisson
3.11.2
com.baomidou
mybatis-plus-boot-starter
provided
MybatisPlusConfig |
MybatisPlus配置类 |
RedisConfig |
Redis配置类 |
RedissonConfig |
Redisson配置类 |
Swagger2Config |
Swagger2配置类 |
RedisConst |
Redis常量配置类 |
GlobalExceptionHandler |
全局异常处理类 |
pom.xml
org.projectlombok
lombok
com.baomidou
mybatis-plus-boot-starter
provided
io.springfox
springfox-swagger2
provided
org.springframework.boot
spring-boot-starter-data-elasticsearch
provided
实体类
搭建service父模块
com.Zh
service-util
1.0-SNAPSHOT
com.Zh
model
1.0-SNAPSHOT
org.springframework.boot
spring-boot-starter-web
com.baomidou
mybatis-plus-boot-starter
mysql
mysql-connector-java
org.springframework.cloud
spring-cloud-starter-alibaba-nacos-discovery
org.springframework.cloud
spring-cloud-starter-openfeign
org.springframework.cloud
spring-cloud-starter-alibaba-sentinel
org.springframework.boot
spring-boot-devtools
true
org.springframework.cloud
spring-cloud-starter-zipkin
pom.xml
net.oschina.zcx7878
fastdfs-client-java
application.yml
spring:
application:
name: service-product
profiles:
active: dev
cloud:
nacos:
discovery:
server-addr: 192.168.200.128:8848
添加配置文件application-dev.yml
server:
port: 8206
mybatis-plus:
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
mapper-locations: classpath:mapper/*Mapper.xml # 编写复杂的sql 语句 ,mybatis-plus 对多表关联支持性差。手写xml文件{sql语句}
spring:
zipkin:
base-url: http://192.168.200.128:9411
discovery-client-enabled: false
sender:
type: web
sleuth:
sampler:
probability: 1
cloud:
sentinel:
transport:
dashboard: http://192.168.200.128:8858
rabbitmq:
host: 192.168.200.128
port: 5672
username: guest
password: guest
redis:
host: 192.168.200.128
port: 6379
database: 0
timeout: 1800000
password:
lettuce:
pool:
max-active: 20 #最大连接数
max-wait: -1 #最大阻塞等待时间(负数表示没限制)
max-idle: 5 #最大空闲
min-idle: 0 #最小空闲
datasource:
type: com.zaxxer.hikari.HikariDataSource
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql://192.168.200.128:3306/gmall_product?characterEncoding=utf-8&useSSL=false
username: root
password: root
hikari:
connection-test-query: SELECT 1 # 自动检测连接
connection-timeout: 60000 #数据库连接超时时间,默认30秒
idle-timeout: 500000 #空闲连接存活最大时间,默认600000(10分钟)
max-lifetime: 540000 #此属性控制池中连接的最长生命周期,值0表示无限生命周期,默认1800000即30分钟
maximum-pool-size: 12 #连接池最大连接数,默认是10
minimum-idle: 10 #最小空闲连接数量
pool-name: SPHHikariPool # 连接池名称
jackson:
date-format: yyyy-MM-dd HH:mm:ss
time-zone: GMT+8
fileServer:
url: http://192.168.200.128:8080/ # fastDFS 分布式文件系统的 ip:port
启动类
@SpringBootApplication
@ComponentScan({"com.Zh.gmall"})
@EnableDiscoveryClient//开启服务注册发现
public class ServiceProductApplication {
public static void main(String[] args) {
SpringApplication.run(ServiceProductApplication.class, args);
}
}