操作系统:Windows
Java开发包:JDK1.8
项目管理工具:Maven3.6.0
项目开发工具:IntelliJIDEA
数据库:MySQL
Spring Cloud版本:Finchley.SR2
Spring Boot版本:2.0.6.RELEASE
此电商系统包含了用户与商品两个模块的部分功能,用户模块包括用户注册、用户登录;商品模块包括商品展示、商品详情、购物车以及订单。
开发项目之前,有必要根据项目业务进行分析,设计一套合理的架构。
本系统采用的是Spring Cloud微服务架构,根据业务功能将系统划分为5个服务,这5个服务构成了一套完整的微服务系统。其中,2个服务是基础服务,提供了一套服务治理的功能,它们分别是Eureka Server和网关服务;2个服务是资源服务,分别是用户服务和商品服务,对外暴露API接口,除此之外,还有一个common的工程,为资源服务提供基本的工具类。
浏览器访问服务端时,首先会经过网关,网关会根据请求路由到不同的服务,并且每个服务都会从不同的MySQL数据库获取数据。
用户模块—user-service
商品模块—goods-service
数据库设计
1.用户模块
/*创建数据库webuser*/
CREATE DATABASE webuser;
/*8.0以下版本MySQL执行以下SQL修改字符编码*/
alter database webuser character set utf8;
set names gbk;
/*使用数据库webuser*/
USE webuser;
/*创建表user*/
CREATE TABLE user (
uaccount int(11) AUTO_INCREMENT PRIMARY KEY,
upassword varchar(255) NOT NULL ,
uname varchar(255) NOT NULL,
usex varchar(50)
) ;
/*向user表插入数据 */
insert into user(uaccount,upassword,uname,usex)
values
(10018,'123','rose','女'),
(10019,'123','jake','男'),
(10020,'123','张三','男'),
(10021,'1','李四','男'),
(10022,'1','李明','男'),
(10023,'2','whhh','男'),
(10024,'1','王五','女'),
(10025,'1','hh','女');
2.商品模块
/*创建数据库webgoods*/
CREATE DATABASE webgoods;
/*8.0以下版本MySQL执行以下SQL修改字符编码*/
alter database webgoods character set utf8;
set names gbk;
/*使用数据库webgoods*/
USE webgoods;
/*创建数据表goods*/
CREATE TABLE goods (
gid int(11) AUTO_INCREMENT PRIMARY KEY,
gname varchar(255) ,
gdetails varchar(255) ,
gprice int(11)
) ;
/*向goods表插入数据*/
insert into goods(gid,gname,gdetails,gprice)
values
(1,'草莓','可口草莓',4),
(2,'苹果','红富士苹果',2),
(3,'橙子','金黄的大橙子',4),
(4,'葡萄','吐鲁番葡萄',12),
(5,'大虾','山东大虾',5),
(6,'带鱼','好吃的带鱼',50),
(7,'扇贝','大神快来快来',20),
(8,'皮皮虾','啥的客户',10),
(9,'脉动','不在状态,脉动一下',4),
(10,'汽水','栓双',8),
(11,'沙棘汁','好喝',3),
(12,'和其正','dsa asd',5),
(13,'菠菜','大',2),
(14,'生菜','asdajlskdja',2),
(15,'番茄','好吃',1),
(16,'胡萝卜','asdkjlajkld',2);
EurekaServer与公共工程的搭建
使用SpringInitializr方式创建一个项目web-store:
后面其他项目均在父工程中创建模块Moudle的方式创建,结构如下:
搭建Eureka Server
搭建eureka-server作为服务中心,是每个Spring Cloud微服务的心脏,所有服务将会注册到Eureka Server中。
步骤:
1.创建项目,引入依赖
2.添加Eureka相关配置
3.定义Security安全控制
4.添加@EnableEurekaServer注解
5.测试运行
步骤1:创建项目,引入依赖
在父工程web-store中创建Moudle,使用Spring Initializr方式创建一个名称为eureka-server的Spring Boot模块,将Artifact命名为eureka-server,在pom.xml文件中添加Eureka Server和Security依赖。
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-security</artifactId>
<version>2.0.0<