Microservice Project Setup
一、创建仓库

注意:仓Library名称、Path、Choose语言、添加.gitignore、添加开源许可证、Choose分支模型。
二、拉取项目


三、创建微服务模块-记账管理微服务



ChooseMicroservices必要组件

Create好第一个记账Microservices后,项目结构。

然后Installation上述步骤,依次Create出其它Microservices模块。
各Microservices共同点:
1、都导入了必备的spring web,OpenFeign
2、每一个Service,包名:com.yanxizhu.ifamily.xxxxx(booking/firend/。。。Service名)
3、模块名:ifamily-xxxxx(booking/fired/…Service名)
Example的包名:com.yanxizhu.ifamily.booking
模块名:ifamily-booking
四、设置总项目聚合各微服务
一、随便复制一个Microservices的pomFile,粘贴到总项目中。

本次项目,如,复制ifamily-bookingMicroservices中的pom.xml到总项目ifamily中。
二、修改总项目中的pom.xmlFile。

1、修改模块名、项目名、描述
修改前:
<groupId>com.yanxizhu.ifamily</groupId>
<artifactId>ifamily-booking</artifactId><!--1、模块名修改为总项目名-->
<version>0.0.1-SNAPSHOT</version>
<name>ifamily-booking</name><!--2、修改为总项目名-->
<description>家庭管理-记账服务</description><!--3、修改为聚合服务,把其它微服务聚合起来-->
修改后:
<groupId>com.yanxizhu.ifamily</groupId>
<artifactId>ifamily</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>ifamily</name>
<description>聚合服务</description>
2、删除ServiceDependency
<parent><!--删除父引用-->
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.6.4</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
3、删除多余的Dependency:
4、添加Type,为pom
<packaging>pom</packaging>
5、聚合其他Microservices模块
<modules><!--聚合其他微服务-->
<module>ifamily-booking</module>
</modules>
最终的pomFile内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<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.yanxizhu.ifamily</groupId>
<artifactId>ifamily</artifactId><!--模块名修改为总项目名-->
<version>0.0.1-SNAPSHOT</version>
<name>ifamily</name><!--修改为总项目名-->
<description>聚合服务</description><!--修改为聚合服务,把其它微服务聚合起来-->
<packaging>pom</packaging><!--设置类型-->
<modules><!--聚合其他微服务-->
<module>ifamily-booking</module>
</modules>
<!--可以删除多余的其他依赖-->
<!--最后把总项目添加到maven中-->
</project>
6、把总项目添加到maven中

一共就上面6个步骤。之后再maven管理中就可以看到总Service聚合了其它Microservices模块。

总结:
1、删除父依赖
2、删除依赖
3、修改项目名、模块名、描述
4、设置类型
5、聚合其它微服务模块
6、将服务添加到maven中

当在总项目ExecuteCommand时,其它项目也一起Execute了,例如父模块clean,其它Microservices模块也会同时clearn。
五、过滤垃圾文件
修改总项目总的.gitignoreFile,过滤不需要提交到仓Library的File。
**/mvnw
**/mvnw.cmd
**/.mvn
**/target/
.idea
**/.gitignore
**/ :任意Path
target: mavenCompile(complile)后产生的File
.idea: ideaTools项目的
.gitignore:子模块的.gitignoreFile
过滤的File颜色为灰色。

六、创建各微服务需要的公共模块
Create一个maven的公共模块,Choose总项目,右键新建module,ChooseMaven,(不用Choose其它)直接下一步。

填写公共模块名,包名。

给公共模块的pom添加描述:
<dependencies>各微服务公共的依赖,bean,工具类等等</dependencies>

在各Microservices中加入公共模块Dependency:
ifamily-bookingMicroservicespomFile引入公共模块Dependency:
<dependency>
<groupId>com.yanxizhu.ifamily</groupId>
<artifactId>ifamily-common</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>

最后就可以在公共模块中,引入一些各模块需要的Dependency,如mybatis、Lombak,以及Create一个常用的公共Tools类。相应的总项目总也会自动添加新建的common公共模块。
<?xml version="1.0" encoding="UTF-8"?>
<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.yanxizhu.ifamily</groupId>
<artifactId>ifamily</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>ifamily</name>
<description>聚合服务</description>
<packaging>pom</packaging>
<modules>
<module>ifamily-booking</module>
<module>ifamily-common</module>
</modules>
</project>
新建Tools包
com.yanxizhu.common.utils

至此,整个Microservices项目就搭建好了。之后可以引入一些公共的Tools类,还可以Usage逆向共工程生成实体、server、controller等模块,可以看一篇《逆向工程生成各模块Code》。