开头老规矩,手动推荐一波了,欢迎大家关注我的公众号“风云编程录”,感谢大家🙏。
上一篇我们已经安装了mysql的docker镜像,后面关于环境配置方面还有一部分内容,我在这篇博客里面一并介绍完毕。
1. 安装redis镜像
(1)拉取redis镜像
使用如下命令拉取redis镜像
docker pull redis
(2)启动redis镜像:
docker run -p 6379:6379 --privileged=true --name redis -v /mydata/redis/data:/data \
-v /mydata/redis/conf/redis.conf:/etc/redis/redis.conf \
-d redis redis-server /etc/redis/redis.conf
启动的时候有坑,会认为redis.conf是一个目录,所以我们可以先创建这个conf文件,避免这个坑。我们使用如下命令创建redis.conf文件。
mkdir -p /mydata/redis/conf
touch /mydata/redis/conf/redis.conf
创建了这个配置文件之后,我们再启动redis
当然,大家也注意到了,这次我直接添加了这个参数--privileged=true,同样是为了解决上一篇博客中提到的文件权限问题。
(3)检查docker镜像
[root@localhost vagrant]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
87c92e955299 redis "docker-entrypoint..." 3 seconds ago Up 2 seconds 0.0.0.0:6379->6379/tcp redis
7b08e8409b41 mysql:5.7 "docker-entrypoint..." 2 hours ago Up 26 minutes 0.0.0.0:3306->3306/tcp, 33060/tcp mysql
(4)测试redis
我们通过登陆redis-cli,测试redis是否正常安装
[root@localhost vagrant]# docker exec -it redis redis-cli
127.0.0.1:6379> ping
PONG
127.0.0.1:6379>
视频中讲解的redis的版本可能比较低,默认没有开启持久化,然后在redis.conf中添加了持久化配置
appendonly yes
我下的redis版本比较高,是默认开启持久化的,重启了redis容器,原先添加的内容是没有删除的。可以不需要显示在redis.conf配置中添加如上的aof配置。
2. 安装redis客户端
方便我们后续查看redis中的内容,类似于navicat工具一样,我们需要安装一个redis访问的客户端。
视频中安装的redis访问客户端是redis desktop manager。但是现在已经开始推荐使用redisinsight了。下载路径如下:
RedisInsight | The Best Redis GUI
下面是涉及到的开发环境安装配置
3. maven配置
在我们的maven工具的settings.xml配置文件中添加如下配置
(1)配置aliyun镜像加速
<mirrors>
<mirror>
<id>nexus-aliyun</id>
<mirrorOf>central</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
</mirrors>
(2)添加jdk编译配置
<profile>
<id>jdk-1.8</id>
<activation>
<activeByDefault>true</activeByDefault>
<jdk>1.8</jdk>
</activation>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
</properties>
</profile>
(3)idea的maven配置
4. 安装idea插件
(1)安装lombok插件
(2)安装mybatisx插件
5. 安装vscode
由于我们的项目是前后端分离的架构,同样涉及前端页面的开发,所以我们需要安装vscode,同样安装一些vscode的插件,方便我们的开发
安装完成vscode后,涉及的插件如下:
Auto Close Tage
Auto Rename Tag
Chinese simpli
ESLint
HTML CSS Support
HTML Snippets
JavaScript(ES6)code snippets
Live Server
open in browser
Vetur
6. git相关的安装及配置
(1)安装git客户端
安装完成后配置命令如下:
GodShadow@bogon tool % git version
git version 2.32.0
GodShadow@bogon tool % git config --global user.name "cloudwindback"
GodShadow@bogon tool % git config --global user.email "giteeforwhq@163.com"
(2)设置免密登陆
ssh-keygen -t rsa -C "giteeforwhq@163.com"
cat ~/.ssh/id_rsa.pub
将生成的公钥信息拷贝到码云的ssh公钥配置中
(3)测试公钥是否配置成功
ssh -T git@gitee.com
测试是否可以联通,我的是不行
7. 创建码云仓库
后续我们的代码都会上传到远端的码云仓库,因此我们需要创建自己的gitee账号,以及创建一个项目仓库。
我的代码仓库地址是:
代码仓库配置如图:
创建成功后,可以修改仓库为公共模式,创建的时候只能是私有。
8. idea从码云仓库拉取代码
创建成功后,我们从idea中拉取仓库代码
好像我配置的ssh公钥有问题么? 没有找到原因,下载代码我使用的是http地址下载的
9. 创建新的模块
下载完成代码之后,我们需要新创建一个微服务模块,gulimall-product模块,此处我创建新模块的时候没有看到视频中的Spring initilizer,我们需要安装一个插件
(1)安装Spring Assistant插件
Spring Assistant,安装完成后,我们重启一下idea
(2)新建模块的配置如下:
(3)添加必要的starter支持
spring web 以及 openfeign
(4)创建其他模块
需要创建多个微服务模块,上面已经创建一个商品服务
还需要创建的模块如下:
商品服务、仓库服务、订单服务、优惠券服务、用户服务
几个服务的共同点如下:
1)web openfeign starter导入
2)每一个服务,包名 com.whq.gulimall.xxx(product/order/ware/coupon/member)
3)模块名 gulimall-coupon
(5)一些问题以及解决办法
A.模块创建完成后,发现一个问题,没有maven工具栏,这里找到一个解决该问题的博客如下:
idea开发工具右侧没有maven工具栏_普通网友的博客-优快云博客_idea右侧的maven工具栏
B.如果没有正常开启Run Dashboard,新版Idea中称为Services,可通过如下方式进行配置:
I在工程的.idea文件夹中存在 workspace.xml
II在文件中查 RunDashboard
III在其中添加如下代码
<option name = “configurationTypes”>
<set>
<option value = “SpringBootApplicationConfigurationType” />
</set>
</option>
IV然后重启Idea
上述方式只适用于2019版本之前的idea.
对于后续版本,run dashboard已经变为service功能具体使用方式:
I view->tool window 下面选择service
II 然后选择新增类型为application,然后启动的服务就会在services里面显示。
10. 父项目聚合子项目
创建完成五个子项目之后,我们需要将gulimall创建为父工程,将刚刚创建的五个字工程作为它的子工程。
父项目新增gulimall的pom文件如下:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.whq.gulimall</groupId>
<artifactId>gulimall</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>gulimall</name>
<description>聚合服务</description>
<packaging>pom</packaging>
<modules>
<module>gulimall-product</module>
<module>gulimall-coupon</module>
<module>gulimall-member</module>
<module>gulimall-order</module>
<module>gulimall-ware</module>
</modules>
</project>
11. 修改.gitignore 文件
**/mvnw #任意路径下的mvnw目录
**/mvnw.cmd
**/.mvn
**/target/
.idea
**/.gitignore
12. 提交我们的修改
至此,我们的开发环境以及前期准备已经完成,我们拥有了属于自己的代码仓库。准备开始我们的开发吧。