引入公用模块

在前文中,笔者根据开发步骤整理了两份源代码文件,分别是 newbee-mall-cloud-dev-step01newbee-mall-cloud-dev-step02,本节的源代码是在 newbee-mall-cloud-dev-step02 工程的基础上改造的,将工程命名为 newbee-mall-cloud-dev-step03

随着工程中模块的增加,有些类重复出现在各个模块中。对于这些公用的类,大部分模块都会使用,但是在开发时不可能在每个模块中都保留这些重复的内容。因此,在实际开发时会创建一个公用模块用于存放这些公用的类,其他的业务模块将其作为依赖项引入。公用模块主要用于存放一些公用的类,如分页工具类、全局响应结果类、工具类等。

在工程中新增一个 newbee-mall-cloud-common 模块,并在 pom.xml 主文件中增加该模块的配置,代码如下:

<modules>
  <module>newbee-mall-cloud-user-service</module>
  <module>newbee-mall-cloud-gateway-admin</module>
  <module>newbee-mall-cloud-common</module>
</modules>
xml

子节点 newbee-mall-cloud-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>
    <groupId>ltd.newbee.cloud</groupId>
    <artifactId>newbee-mall-cloud-common</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>jar</packaging>
    <name>newbee-mall-cloud-common</name>
    <description>公用模块</description>

    <parent>
        <groupId>ltd.newbee.cloud</groupId>
        <artifactId>newbee-mall-cloud</artifactId>
        <version>0.0.1-SNAPSHOT</version>
    </parent>
    <properties>
        <java.version>1.8</java.version>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>io.swagger</groupId>
            <artifactId>swagger-annotations</artifactId>
            <version>1.5.14</version>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-beans</artifactId>
        </dependency>
    </dependencies>
</project>
xml

主要的配置项是模块名称、模块的打包方式。配置成功后,打开 newbee-mall-cloud-common 工程目录,新建 ltd.common.cloud.newbee 包,接着分别创建 dto 包、exception 包、util 包,并把 newbee-mall-cloud-step02 中用户微服务的一些公用类移动到公用模块中,编码完成后的目录结构如图 2-6 所示。

在后续实战过程中,还要创建其他微服务,使用公用模块就可以直接在 pom.xml 文件中引入该依赖配置。比如,当前工程中的用户微服务已经把公用的类都移动到公用模块中了,如果想要使用这些类,就可以在 pom.xml 文件中增加如下依赖配置:

<dependency>
    <groupId>ltd.newbee.cloud</groupId>
    <artifactId>newbee-mall-cloud-common</artifactId>
    <version>0.0.1-SNAPSHOT</version>
</dependency>
xml
image 2025 04 23 11 38 19 408
Figure 1. 图2-6 公用模块的目录结构