目录
一、前言
二、学习的内容
一、虚拟平台的安装,远程连接虚拟机的工具的安装
二、Docker以及常用软件的安装
一、安装Docker:
二、安装相关软件
三、开发环境的统一
1. 这里就是调整Maven的下载依赖的地址,改用阿里云镜像地址
2. 然后就是将Maven中的JDK改一下(这个可以在Maven项目中去配的,可以不改)
3. 安装好idea所必须的插件
4. 装好开发前端的vscode所需要的插件
5. 配置好git
四、远程仓库的创建
五、使用人人开源项目逆向后台管理系统
六、使用人人开源项目逆向各个微服务模块
三、完成的进度
四、学到的东西
五、总结
一、前言
经历了前一天的项目的介绍,以及对微服务的简单概述之后就是正式的开启项目了,开启项目之前第一步当然是环境的搭建。环境的搭建:其实无非大的就下面三点:
1. 虚拟机的环境搭建
2. 数据库的搭建
3 . idea项目搭建
二、学习的内容
一、虚拟平台的安装,远程连接虚拟机的工具的安装
虚拟平台可以使用VMware、VirturalBox、远程连接虚拟机的工具可以是vagrant,也可以是XShell。当然我还是喜欢VMware + XShell的组合。
二、Docker以及常用软件的安装
一、安装Docker:
1. 先删除原有的(可选)
下载之前,可以先将之前的给卸载
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine \
docker-ce
2. 安装yum工具以及配置下载镜像
安装yml工具:
yum install -y yum-utils \
device-mapper-persistent-data \
lvm2 --skip-broken
配置软件的下载镜像弟子,配置阿里云镜像:
# 设置docker镜像源
yum-config-manager \
--add-repo \
https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
sed -i 's/download.docker.com/mirrors.aliyun.com\/docker-ce/g' /etc/yum.repos.d/docker-ce.repo
yum makecache fast
3. 安装Docker
安装社区版:
yum install -y docker-ce
4. 关闭防火墙
# 关闭
systemctl stop firewalld
# 禁止开机启动防火墙
systemctl disable firewalld
5. 设置Docker仓库的镜像地址
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://vg5ljeup.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
二、安装相关软件
无非就是安装最基础的MySql和Redis。
给出Mysql和Redis的启动文件:
mysql:
docker run \
--restart=always \
-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=123456 \
-d mysql
注意启动之前得现在宿主机的conf文件夹中得先有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
其实启动MySQL的过程中有许多报错,报错我都记录在这篇博文里了:
(4条消息) 虚拟机使用docker安装MySql出现的问题,Navicat连不上MySql_渣瓦攻城狮的博客-CSDN博客
Redis的启动就比较简单了,基本上没什么错误,启动文件如下:
docker run \
--restart=always \
-p 6379:6379 --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 \
--requirepass "123456"
需要注意的就是这种方式,需要先创建出redis.conf文件,也就是说这种直接挂载的方式,不能是直接的文件,如果有就得先创建出文件。
三、开发环境的统一
1. 这里就是调整Maven的下载依赖的地址,改用阿里云镜像地址
在maven的setting文件中的mirrors里,加上阿里云镜像
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>https://maven.aliyun.com/repository/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
2. 然后就是将Maven中的JDK改一下(这个可以在Maven项目中去配的,可以不改)
<profiles>
<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所必须的插件
常用的插件有MyBatisx,可以逆向生成各层代码
还有Lombok,这个插件现在idea没有了,如果需要安装的话,需要自己去安装,然后idea配置一下
还有gitee插件
当然这里还推荐日志按照不同的级别进行显示的插件:grep console
还有alibaba开发规范的插件
alibaba java coding guidelines
以及maven搜索依赖的插件
maven-search
4. 装好开发前端的vscode所需要的插件
Vscode 安装开发必备插件 Vetur —— 语法高亮、智能感知、Emmet 等 包含格式化功能, Alt+Shift+F (格式化全文),Ctrl+K Ctrl+F(格式化选中代码,两个 Ctrl 需要同时按着) EsLint —— 语法纠错 Auto Close Tag —— 自动闭合 HTML/XML 标签 Auto Rename Tag —— 自动完成另一侧标签的同步修改 JavaScript(ES6) code snippets — — ES6 语 法 智 能 提 示 以 及 快 速 输 入 , 除 js 外 还 支 持.ts,.jsx,.tsx,.html,.vue,省去了配置其支持各种包含 js 代码文件的时间 HTML CSS Support —— 让 html 标签上写 class 智能提示当前项目所支持的样式 HTML Snippets —— html 快速自动补全 Open in browser —— 浏览器快速打开 Live Server —— 以内嵌服务器方式打开 Chinese (Simplified) Language Pack for Visual Studio Code —— 中文语言包
5. 配置好git
就是下载好git,创建好一个用户。
git config --global user.name "username"
git config --global user.email "邮箱地址"
配置ssh免密登录
ssh-keygen -t rsa -C "xxxxx@xxxxx.com
然后连续三次回车
通过cat ~/.ssh/id_rsa.pub命令或者是用户目录下,id_rsa.pub进行查看
然后复制好内容,进入到gitee中,进入到设置中,配好ssh
可以使用ssh -T git@gitee.com 检测是否配置成功
四、远程仓库的创建
在gitee上面创建好远程仓库,配好忽略文件、以及readme,还有分支模型
配置好后,初始项目长这样
然后将这个项目拉到idea里面,可以使用链接的方式,如果此前在idea上配好了gitee账户,则可以直接拉取。
五、使用人人开源项目逆向后台管理系统
就是使用gitee的人人开源项目,里面的后台管理系统的前台与后台,然后克隆拉取代码
没带vue的就是后台,进入到里面复制好地址,使用git clone 地址 克隆到本地
将项目里面的.git文件夹给删了。然后复制一份到idea项目中,直接复制进去就行了。如果已存在父工程的情况下,则需要在父工程的maven里面再moudles里面新建一个moudle
但凡一个服务,先得是创建好服务对应的数据库。所以在idea里查看项目的时候,把数据库的sql复制下来,在navicat里面运行sql,建好admin的数据库。
现在后台就搭建好了。
然后就是进入到vscode里面打开前台项目,第一次跑前台项目的时候需要安装好这个项目的依赖,使用npm install命令,然后使用npm run dev命令运行。当然如果想正确的执行这两个命令,就得在电脑上面安装好node环境。
运行起来后,可以与后台进行联调
六、使用人人开源项目逆向各个微服务模块
和上面的克隆后台系统一样,这里就克隆下逆向工程的项目
同样也是复制到idea里面去,同样记得先将.git文件夹删了。
使用是目的是为了为每个微服务的提前造好相关的各层代码。现在每个微服务还未创建,先将每个服务创建好。这里直接使用SpringBoot的初始化器进行创建Boot项目
这里千万注意Type选择Maven,不然创建之后都没有Maven。
注意:但凡是创建了新的项目,就得先将工程的JDK还有Maven配好。
一些全局的配置,在还未创建项目的时候就可以先配置好。可以先将字符集、Maven、插件配置好
进入到项目的第一件事就是把工程模块的JDK配置好。必要时检查一下编译的JDK版本:
将配置弄好之后。
创建微服务之前,先将每个微服务对应的数据库给装好。
接下来就是创建好一个一个的微服务项目,选上每个服务选择好boot版本现在是2.7.12的boot版本jdk8可以使用,但是如果是高版本的boot那么就得使用jdk17了,以及所需要的必备依赖,比如说web还有openfeigen:
创建好了之后,就得设置一下.gitignore文件,虽说创建boot项目的时候自带,但是有些文件还是没有被忽略掉的,需要加上。
现在就可以尝试着提交到远程仓库上面去了,可以看到忽略的文件是没有上传上去的,提交到远程仓库之前先提交到本地仓库。
老师的步骤是先将各个子工程创建出来,然后再将父工程创建出来,在其父工程的Maven中使用modules配置好子工程。这是一种方式,当然也可以先将父工程创建出来,也就是先就将父工程弄成一个Maven工程,然后子工程直接在下面进行创建,就能省去自己去建立父子关系了,idea能自动的帮助我们建立好。
现在来说就是每个微服务的创建好了,之后就是使用逆向工程为每个微服务创建好相应的代码。
同样的在工程中导入好逆向工程项目。
然后再逆向工程的项目中的application.yml文件中指定好,当前逆向的微服务所对应的数据库:
重点就在虚拟机的ip地址,数据库的名字,以及用户名和密码。
然后再generator.properties文件里配置好,逆向生成的文件的路径,制定好包名,模块名
完成好这两步之后就能在包下生成许多的包了,4个。然后这里面肯定会爆很多的红,因为缺少一些类,缺少一些依赖。
因为许多服务都是同样的情况,所以将这些公共的全放到commen模块中,common模块的maven的pom文件放下面这些依赖没问题:
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.5.2</version>
</dependency>
<dependency>
<groupId>com.mysql</groupId>
<artifactId>mysql-connector-j</artifactId>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>4.0.1</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-lang3 -->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.11</version>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.11.0</version>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpcore</artifactId>
<version>4.4.15</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
</dependency>
主要就是Mysql驱动、MybatisPlus启动器、还有servlet-Api依赖等
然后一些不是依赖中的一些要有的类,其实在之前的后台管理系统的后端代码中就基本上都有了,下面是摸索出来的:
在这篇博文的代码包里面。
写好了公共模块,然后就是各个微服务模块都导入这个common模块,然后基本上就没什么问题了。
三、完成的进度
这个项目的虚拟机环境的搭建,以及数据库的配置,还有微服务模块的搭建均已完成。
四、学到的东西
走了整个一套环境搭建的流程,又熟悉了环境搭建的流程。
其中先创建远程仓库,然后基于远程仓库拉下来然后再基于这个写代码。这个属实是学到了。
这里学到的新东西是使用人人开源项目来搭架子,使用它来创建好后台管理系统的前台与后台,以及使用它来逆向生成每个微服务中的基础代码。
五、总结
主要是熟悉了搭建环境的过程,然后就是学习了如何使用人人开源项目来直接搭建后台管理系统,以及直接逆向生成基础代码。