前言
上節我們將電網巡檢系統的前端vue2項目創建、配置,并構建了最基礎的多租戶界面,本節來繼續構建后端的公共模塊、多租戶模塊,并將公共模塊引入到多租戶模塊中。
創建公共模塊和多租戶模塊
在back父工程下創建兩個Module,和創建父工程是一樣的,公共模塊我們命名為common,多租戶模塊命名為tenant,如圖
為父工程添加子模塊(重要)
在父工程back的pom.xml中添加如下代碼,表示將common和tenant作為其子模塊
<modules><module>common</module><module>tenant</module>
</modules>
完整如下
<?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</groupId><artifactId>back</artifactId><version>0.0.1-SNAPSHOT</version><!--屬性統一定義管理--><properties><java.version>1.8</java.version><spring-cloud.version>Hoxton.SR12</spring-cloud.version><spring-cloud-alibaba.version>2.2.10-RC1</spring-cloud-alibaba.version></properties><!--繼承 Spring Boot 的父工程--><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.3.12.RELEASE</version></parent><!--打包類型,作用: 聲明當前項目是一個 父工程,不生成具體的 JAR/WAR,僅用于管理子模塊或依賴。--><packaging>pom</packaging><!--依賴管理,作用: 統一管理 Spring Cloud 和 Spring Cloud Alibaba 的依賴版本。--><!--scope=import 與 type=pom: 表示引入其他 POM 文件中定義的依賴管理(類似合并依賴版本列表)。--><dependencyManagement><dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies</artifactId><version>${spring-cloud.version}</version><scope>import</scope><type>pom</type></dependency><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-alibaba-dependencies</artifactId><version>${spring-cloud-alibaba.version}</version><scope>import</scope><type>pom</type></dependency></dependencies></dependencyManagement><modules><module>common</module><module>tenant</module></modules>
</project>
修改公共模塊和多租戶模塊
修改公共模塊common的pom.xml為如下,引入基本的依賴
<?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><artifactId>common</artifactId><!--指定父工程--><parent><groupId>com</groupId><artifactId>back</artifactId><version>0.0.1-SNAPSHOT</version></parent><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.4.1</version></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId></dependency></dependencies></project>
再修改多租戶模塊tenant的pom.xml為如下,這里可以看到,tenant只是引入了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><artifactId>tenant</artifactId><parent><groupId>com</groupId><artifactId>back</artifactId><version>0.0.1-SNAPSHOT</version></parent><dependencies><dependency><groupId>com</groupId><artifactId>common</artifactId><version>0.0.1-SNAPSHOT</version></dependency></dependencies></project>
記得打包
將common模塊利用maven的install進行下載到本地,然后對tenant模塊進行package打包,這才算真正的將common模塊一并打包到了tenant模塊。
源碼
https://pan.baidu.com/s/1payZ-Pae8jhc3sGbFO_GJw?pwd=fvyb