微服务-01.导入黑马商城

一.微服务

如果我们直接一头扎进微服务的概念中,会一头雾水,我们先将一个单体项目进行拆分。拆分成一个微服务项目,这样会理解的更加深刻。

首先导入项目,

安装MySQL

在课前资料提供好了MySQL的一个目录:

其中有MySQL的配置文件和初始化脚本:

我们将其复制到虚拟机的/root目录。如果/root下已经存在mysql目录则删除旧的,如果不存在则直接复制本地的:

然后创建一个通用网络:

复制代码
docker network create hm-net

使用下面的命令来安装MySQL:

复制代码
docker run -d \
  --name mysql \
  -p 3306:3306 \
  -e TZ=Asia/Shanghai \
  -e MYSQL_ROOT_PASSWORD=123 \
  -v /root/mysql/data:/var/lib/mysql \
  -v /root/mysql/conf:/etc/mysql/conf.d \
  -v /root/mysql/init:/docker-entrypoint-initdb.d \
  --network hm-net\
  mysql

此时,通过命令查看mysql容器:

复制代码
docker ps

如图:

发现mysql容器正常运行。

此时,如果我们使用MySQL的客户端工具连接MySQL,应该能发现已经创建了黑马商城所需要的表:

后端

然后是Java代码,在课前资料提供了一个hmall目录:

将其复制到你的工作空间,然后利用Idea打开。

项目结构如下:

按下ALT + 8键打开services窗口,新增一个启动项:

在弹出窗口中鼠标向下滚动,找到Spring Boot:

点击后应该会在services中出现hmall的启动项:

点击对应按钮,即可实现运行或DEBUG运行。

不过别着急!!

我们还需要对这个启动项做简单配置,在HMallApplication上点击鼠标右键,会弹出窗口,然后选择Edit Configuration

在弹出窗口中配置SpringBoot的启动环境为local:

点击OK配置完成。接下来就可以运行了!

启动完成后,试试看访问下 http://localhost:8080/hi 吧!

前端

在课前资料中还提供了一个hmall-nginx的目录:

其中就是一个nginx程序以及我们的前端代码,直接在windows下将其复制到一个非中文、不包含特殊字符的目录下。然后进入hmall-nginx后,利用cmd启动即可:

复制代码
# 启动nginx
start nginx.exe
# 停止
nginx.exe -s stop
# 重新加载配置
nginx.exe -s reload
# 重启
nginx.exe -s restart

特别注意:

nginx.exe 不要双击启动,而是打开cmd窗口,通过命令行启动。停止的时候也一样要是用命令停止。如果启动失败不要重复启动,而是查看logs目录中的error.log日志,查看是否是端口冲突。如果是端口冲突则自行修改端口解决。

启动后一定要打开任务管理器查看是否启动成功。

启动成功后,访问http://localhost:18080,应该能看到我们的门户页面:

相关推荐
掉鱼的猫1 分钟前
Java MCP 的鉴权?好简单的啦
java·mcp
Java水解3 分钟前
Java最新面试题(全网最全、最细、附答案)
java·后端·面试
Java水解5 分钟前
java开发面试题(10个常问面试题含答案,亲测有效)
java·后端·面试
CHEN5_025 分钟前
【Java基础常见辨析】重载与重写,深拷贝与浅拷贝,抽象类与普通类
java·开发语言
励志成为糕手14 分钟前
企业级Spring事务管理:从单体应用到微服务分布式事务完整方案
分布式·spring·微服务·隔离级别·事务管理
冲鸭ONE20 分钟前
JAVA多线程概述及应用
java
Despacito0o23 分钟前
C语言基础:变量与进制详解
java·c语言·开发语言
MrSYJ1 小时前
UserDetailService是在什么环节生效的,为什么自定义之后就能被识别
java·spring boot·后端
无责任此方_修行中1 小时前
从 HTTP 轮询到 MQTT:我们在 AWS IoT Core 上的架构演进与实战复盘
后端·架构·aws
long3162 小时前
构建者设计模式 Builder
java·后端·学习·设计模式