一、创建仓库

注意:仓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》。