微服务-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,应该能看到我们的门户页面:

相关推荐
江畔柳前堤17 分钟前
AgentScope 设计与原理全解:从消息原语到分布式智能体工程底座
大数据·人工智能·分布式·目标检测·机器学习·语言模型·架构
互联网中的一颗神经元21 分钟前
01. Go 内存管理全景架构
java·jvm·golang
萧瑟余晖21 分钟前
Java深入解析篇三十四之分布式事务
java·开发语言·分布式
CAE虚拟与现实22 分钟前
源码注解 /class 注解 / 运行时注解三者生命周期
java·开发语言
两万五千个小时24 分钟前
DeepSeek Harness 上下文压缩:长对话管理
人工智能·程序员·架构
互联网中的一颗神经元29 分钟前
02. 核心概念与术语表
java·jvm·spring
January120734 分钟前
Cassandra CQL 基本命令详解
java
一拳不是超人1 小时前
一个 AI 改出的 bug,另一个 AI 五天就打穿了 Snowflake:Copilot Autofix 事件给 coding agent 的警醒
架构·github
Escalating_xu1 小时前
【Linux】线程概念与控制:从地址空间、LWP 到 pthread_create、join、detach 与 NPTL
java·linux·redis
Lam Tang1 小时前
APS 系列文章 09
java·代理模式