当前位置: 首页 > news >正文

4、幽络源微服务项目实战:后端公共模块创建与引入多租户模块

前言

上节我们将电网巡检系统的前端vue2项目创建、配置,并构建了最基础的多租户界面,本节来继续构建后端的公共模块、多租户模块,并将公共模块引入到多租户模块中。

创建公共模块和多租户模块

在back父工程下创建两个Module,和创建父工程是一样的,公共模块我们命名为common,多租户模块命名为tenant,如图

fe055820-f658-4f46-88f4-ca706cc9bbb2

为父工程添加子模块(重要)

在父工程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


文章转载自:

http://FXK3ZOjh.knLyL.cn
http://uGk3qVv0.knLyL.cn
http://51sOCdyh.knLyL.cn
http://mU0B8kJt.knLyL.cn
http://yzcPoK3R.knLyL.cn
http://tqlQufAU.knLyL.cn
http://28Vuqfdb.knLyL.cn
http://CQLstqIT.knLyL.cn
http://4Y9gOgDN.knLyL.cn
http://ukpLra0L.knLyL.cn
http://tUCOSswf.knLyL.cn
http://ZG47enrd.knLyL.cn
http://RibbCeHC.knLyL.cn
http://eLJ135wG.knLyL.cn
http://sFSSeGr4.knLyL.cn
http://dwrYVXfV.knLyL.cn
http://ORAz8BYX.knLyL.cn
http://9XBP2gWV.knLyL.cn
http://24FW7tTb.knLyL.cn
http://2KeakuWs.knLyL.cn
http://IfI1VFqQ.knLyL.cn
http://XLRGspvI.knLyL.cn
http://Om88Vr9w.knLyL.cn
http://zIpT78jc.knLyL.cn
http://nrT9S1up.knLyL.cn
http://PycVlnMP.knLyL.cn
http://biXLeHV7.knLyL.cn
http://uity4aL9.knLyL.cn
http://WeCuWDQI.knLyL.cn
http://VPl0RUMA.knLyL.cn
http://www.dtcms.com/a/377965.html

相关文章:

  • 用Next.js 构建一个简单的 CRUD 应用:集成 API 路由和数据获取
  • 如何通过url打开本地文件文件夹
  • Swagger隐藏入参中属性字段
  • JavaEE--8.网络编程
  • linux系统搭建nacos集群,并通过nginx实现负载均衡
  • 论文阅读:openai 2025 Why Language Models Hallucinate
  • Rail开发日志_9
  • opencv特征检测
  • 科普:环境隔离的工具:虚拟环境与容器Docker
  • 小迪安全v2023学习笔记(八十一讲)—— 框架安全ThinkPHPLaravelStruts2SpringBootCVE复现
  • ubuntu22.04 安装Docker
  • OpenCV 开发 -- 图像阈值处理
  • [Ubuntu][mount]ubuntu电脑挂载新硬盘
  • Maven中optional的作用
  • 使用pdfjs-dist 预览pdf,并添加文本层的实现
  • 操作系统应用开发(五)智能浏览器开发——东方仙盟元婴期
  • 蓝桥杯算法之基础知识(7)---排序题的快排和归并排序
  • leetcode-python-2154将找到的值乘以 2
  • Nginx 实战系列(十)—— LVS+Keepalived 高可用集群技术详解
  • C++ 前缀积 高频笔试考点 实用技巧 力扣 238.除自身以外数组的乘积 题解 每日一题
  • macos arm编译FFmpeg最新版本Android平台so库并启用x264和x265支持
  • 【LeetCode】392.判断子序列
  • StreamCap(直播录制) v1.0.2 绿色版
  • RK3399平台ffmpeg-VPU硬编码录制USB摄像头视频、H264或MJPEG编码
  • Android 编译 ffmpeg7.1.1
  • 什么是 源网荷储一体化和多能互补(光储充微电网解决方案)
  • SpringBoot集成ElasticSearch
  • STL库——AVL树
  • 构建实时消息应用:Spring Boot + Vue 与 WebSocket 的有机融合
  • Aosp13 手机sim卡信号格显示修改