商城spring boot+spring cloud项目笔记

本文档详细记录了gulimall项目使用Spring Boot和Spring Cloud的配置过程,包括虚拟机的创建、Docker安装与MySQL容器化、Redis的配置以及数据持久化,还涉及到了Maven环境配置、数据库搭建、代码生成器的使用和SpringCloud Alibaba组件的实践。此外,还提到了前端、商品API相关任务以及进程管理和端口占用问题的解决方案。
摘要由CSDN通过智能技术生成

gulimall项目
参考:别人写得很好的笔记在这里
还有这里

https://gitee.com/agoni_no/gulimall

第一章 项目的结构和配置

一.虚拟机
1.1下载virtual boxhttps://www.virtualbox.org/

1.2
使用vagrant快速创建linux虚拟机

推荐使用vagrant创建虚拟机。代替原来的。https://zhuanlan.zhihu.com/p/27793159
搜索vagrant下载页面https://www.vagrantup.com/
-Download-Windows 64-bit

1.3使用vagrant创建虚拟机
打开cmd指令框
-vagrant
-vagrant init centos/7
-vagrant up
就启动了虚拟机!
上面指令说明:
(查看vagrant镜像仓库 https://app.vagrantup.com/boxes/search
centos/7代表linux系统)
-init之后查看本机中users/45058中生成了一个vagrantfile

-whoami查看用户
-exit退出当前层级

连接虚拟机
-vagrant ssh

1.4虚拟网络设置-端口转发
cmd中输入
-ipconfig
查看virtual box host-only network:
192.168.56.1

打开vagrantfile中的private network
相应修改ip地址为: 192.168.56.10

重载vagrant
-vagrant reload
vagrant操作命令中输入
-ip addr
查看inet 192.168.56.10

测试:
主机ping虚拟机,
虚拟机ping主机
ping 192.168.56.10
cmd新建一个窗口,ping一下虚拟机的ip
ping 192.168.1.153
虚拟机ping本地ip地址,也能得到回复。

二.docker技术
linux安装docker,docker基于镜像启动container的运行环境
每个容器都是一个完整的运行环境。容器之间相互隔离,一个down不影响另一个。

docker hub中可搜索各种软件的镜像

2.1设置docker

文档https://docs.docker.com/engine/install/centos/
-remove old…
-install…
-config manager…
-cli io…
-start…

-sudo docker images查看镜像
-sudo systemctl enable docker开机自启动

国内阿里云镜像加速(此处忽略)

2.2
docker安装mysql

2.2.1安装
-sudo docker pull mysql:5.7
-sudo docker images检查镜像是否下载
-su root

配置:端口映射:
前者为外部数据,
后者为在容器中的名字,log,数据,配置conf,用户密码
docker run -p 3306:3306 --name mysql \
-v /mydata/mysql/log:/var/log/mysql \
-v /mydata/mysql/data:/var/lib/mysql \
-v /mydata/mysql/conf:/etc/mysql \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql:5.7

显示一个很长的id,就说明mysql的docker container安装好了
-docker ps查看当前所有的容器
-docker ps -a查看所有的容器

2.2.2配置mysql config文件

[root@localhost vagrant]# cd /mydata/
[root@localhost mydata]# ls
mysql
[root@localhost mydata]# cd mysql/
[root@localhost mysql]# ls
conf data log
[root@localhost mysql]#cd conf/
[root@localhost conf]#ls
[root@localhost conf]#vi my.cnf
(粘贴配置文件中编码信息)
-i (insert mode)
(paste)
-esc(esc the insert mode)
:wq (save and exit)


[client]
default-character-set=utf8

[mysql]
default-character-set=utf8

[mysqld]
init_connect=‘SET collation_connection = utf8_unicode_ci’
init_connect=‘SET NAMES utf8’
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
skip-name-resolve


[root@localhost conf]# ls
my.cnf
[root@localhost conf]# docker restart mysql
mysql
[root@localhost conf]# docker exec -it mysql /bin/bash
root@a354f1646445:/# cd /etc/mysql/
root@a354f1646445:/etc/mysql# ls
my.cnf
root@cf5e62ba0b3f:/etc/mysql# cat my.cnf
[client]
default-character-set=utf8

[mysql]
default-character-set=utf8

[mysqld]
init_connect=‘SET collation_connection = utf8_unicode_ci’
init_connect=‘SET NAMES utf8’
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
skip-name-resolve
root@cf5e62ba0b3f:/etc/mysql#

(mysql container配置结束)

几个简单的vagrant指令
vagrant up启动虚拟机
vagrant ssh连接虚拟机
su root切至根用户
密码vagrant
docker pull [app]:[version]
docker images查看所有镜像
docker ps查看所有进程
docker stop [container_ID]停止指定container
docker rm [container_ID]移除指定container
exit;退出容器回到linux主系统
docker run --rm [image_name]移除指定image
docker exec -it mysql /bin/bash 访问容器内部(每一个容器里面都是一个linux系统, 在容器内部可以进行各种命令操作, 退出容器回到linux主系统,exit即可)

2.2.2数据库sqlyog可视化
下载sqlyog软件https://webyog.com/product/sqlyog
配置如下,即可连接docker容器中的mysql,进行可视化操作:
在这里插入图片描述
输入虚拟机的ip地址
-test connection
-connect

2.2.3移除
移除container
remove一个container,先stop,再remove:
[root@localhost vagrant]#

docker stop c545ee27e346

[root@localhost vagrant]#

docker rm c545ee27e346

在删除完容器后,还要手动将本地的关于容器的配置目录给删掉:
[root@localhost vagrant]#

rm -rf /mydata/mysql

移除image
[root@localhost vagrant]#

docker image rm f07dfa83b528 -f

2.3redis

2.3.1
docker安装redis

[root@localhost vagrant]# docker pull redis

[root@localhost vagrant]# mkdir -p /mydata/redis/conf
[root@localhost vagrant]# cd /mydata/
[root@localhost mydata]# ls
mysql redis
[root@localhost mydata]# cd redis/
[root@localhost redis]# ls
conf
[root@localhost redis]# cd conf/
[root@localhost conf]# touch redis.conf
[root@localhost conf]#

docker run -p 6379:6379 --name redis
-v ~/redis/data:/data
-v ~/redis/conf/redis.conf:/etc/redis/redis.conf
-d redis redis-server /etc/redis/redis.conf

68f4a1c73800d518d3cc6571e016147ff197218a43d35c132e531611803111b9

[root@localhost conf]# docker ps
[root@localhost conf]#

docker exec -it redis redis-cli

上行指令执行了redis客户端
127.0.0.1:6379> set a b
OK
127.0.0.1:6379> get a
““b””"
(redis 设置完成)

实现持久化:先输入pwd,再编辑redis.conf 加入:appendonly yes

127.0.0.1:6379>

exit

[root@localhost conf]#

pwd

/mydata/redis/conf
[root@localhost conf]#

ls

redis.conf
[root@localhost conf]#

vi redis.conf

(insert: appendonly yes)
[root@localhost conf]#

docker restart redis

[root@localhost conf]#

docker exec -it redis redis-cli

127.0.0.1:6379> set elsa huang
OK
127.0.0.1:6379> get elsa
“huang”
127.0.0.1:6379> exit
[root@localhost conf]# docker restart redis
redis
[root@localhost conf]# docker ps
[root@localhost conf]# docker exec -it redis redis-cli
127.0.0.1:6379> get elsa
“huang”
(持久化成功)

2.3.2redis可视化
redisDataManager(RDM)
![在这里插入图片描述](https://img-blog.csdnimg.cn/20201226092548804.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80Mzg3OTkwOQ==,size_16,color_FFFFFF,t_70#pic_centers

三.maven环境配置
intellij中maven环境配置和vscode配置

查询文章,排除设置障碍:
https://blog.csdn.net/pan_junbiao/article/details/104264644
3.1maven下载安装
Maven 下载地址:http://maven.apache.org/download.cgi
解压zip到本地磁盘

3.2
在Windows系统中设置 Maven 环境变量
-search “edit the system environment variables” in system
必须先安装jdk,配置JAVA_HOME
新建系统变量 MAVEN_HOME,变量值:C:\Downloads\apache-maven-3.6.3
编辑系统变量 Path,添加变量值:
%MAVEN_HOME%\bin
cmd中查看maven版本信息:
mvn -version
验证maven是否已成功安装!

3.3发现端口被占用:
C:\Users\username>netstat -o -n -a | findstr :8080
TCP 0.0.0.0:3000 0.0.0.0:0 LISTENING 3116

C:\Users\username>taskkill /F /PID 3116

四.
数据库搭建
https://www.bilibili.com/video/BV1np4y1C7Yf?p=15

4.1
生成多个空模块,如
gulimall-product
gulimall-order
gulimall-member
gulimall-coupon
gulimall-ware
将空模块都整合进gulimall项目中

<Modules>
	<Module>gulimall-product<Module>
	<Module>gulimall-order<Module>
	<Module>gulimall-member<Module>
	<Module>gulimall-coupon<Module>
	<Module>gulimall-ware<Module>
</Modules>

项目的.gitignore文件中写入:

**/mvnw
**/mvnw.cmd
**/.mvn
**/target/
.idea
**/.gitignore
这样github不会收录这些文件。

4.2
在sqlyog的虚拟机下新建gulimall_pms,gulimall_sms,gulimall_oms,gulimall_wms,gulimall_ums等schemas

选中gulimall_pms,复制相关代码到执行框中,run。

4.3
gitee页面中搜索人人开源 / renren-fast
下载人人开源的后端代码
将隐藏的.git文件删除
整个renren-fast文件夹复制gulimall文件夹中
引入renren-fast模块到gulimall中管理
查看application.yml文件,发现执行的是dev配置
修改application-dev.yml文件中的数据源信息

spring:
    datasource:
        type: com.alibaba.druid.po
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值