Maven实战—搭建微服务 Maven 工程架构

[复制链接]
发表于 2026-2-11 06:27:41 | 显示全部楼层 |阅读模式
需求案例:搭建一个电商平台项目,该平台包罗用户服务、订单服务、通用工具模块等。
项目架构

  • 用户服务:负责处置惩罚用户干系的逻辑,比方用户信息的管理、用户注册、登录等。
  • 订单服务:负责处置惩罚订单干系的逻辑,比方订单的创建、订单付出、退货、订单检察等。
  • 通用模块:负责存储其他服务必要通用工具类,其他服务依赖此模块。
服务依赖

  • 用户服务 (1.0.1)

    • spring-context 6.0.6
    • spring-core 6.0.6
    • spring-beans 6.0.6
    • jackson-databind /  jackson-core / jackson-annotations 2.15.0

  • 订单服务 (1.0.1)

    • shiro-core 1.10.1
    • spring-context 6.0.6
    • spring-core 6.0.6
    • spring-beans 6.0.6

  • 通用模块 (1.0.1)

    • commons-io 2.11.0

1 创建父工程 maven-micro-shop
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <project xmlns="http://maven.apache.org/POM/4.0.0"
  3.          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4.          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  5.     <modelVersion>4.0.0</modelVersion>
  6.     <groupId>per.mjn</groupId>
  7.     <artifactId>maven-micro-shop</artifactId>
  8.     <version>1.0.1</version>
  9.     <packaging>pom</packaging>
  10.     <modules>
  11.         <module>user-service</module>
  12.         <module>order-service</module>
  13.         <module>common-service</module>
  14.     </modules>
  15.     <properties>
  16.         <spring.version>6.0.6</spring.version>
  17.         <jackson.version>2.15.0</jackson.version>
  18.         <shiro.version>1.10.1</shiro.version>
  19.         <io.version>2.11.0</io.version>
  20.         <maven.compiler.source>17</maven.compiler.source>
  21.         <maven.compiler.target>17</maven.compiler.target>
  22.         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  23.     </properties>
  24.     <dependencyManagement>
  25.         <dependencies>
  26.             <dependency>
  27.                 <groupId>org.springframework</groupId>
  28.                 <artifactId>spring-context</artifactId>
  29.                 <version>${spring.version}</version>
  30.             </dependency>
  31.             <dependency>
  32.                 <groupId>com.fasterxml.jackson.core</groupId>
  33.                 <artifactId>jackson-databind</artifactId>
  34.                 <version>${jackson.version}</version>
  35.             </dependency>
  36.             <dependency>
  37.                 <groupId>org.apache.shiro</groupId>
  38.                 <artifactId>shiro-core</artifactId>
  39.                 <version>${shiro.version}</version>
  40.             </dependency>
  41.             <dependency>
  42.                 <groupId>commons-io</groupId>
  43.                 <artifactId>commons-io</artifactId>
  44.                 <version>${io.version}</version>
  45.             </dependency>
  46.             <dependency>
  47.                 <groupId>per.mjn</groupId>
  48.                 <artifactId>common-service</artifactId>
  49.                 <version>1.0.1</version>
  50.             </dependency>
  51.         </dependencies>
  52.     </dependencyManagement>
  53. </project>
复制代码
2 创建通用模块 common-service
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <project xmlns="http://maven.apache.org/POM/4.0.0"
  3.          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4.          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  5.     <modelVersion>4.0.0</modelVersion>
  6.     <parent>
  7.         <groupId>per.mjn</groupId>
  8.         <artifactId>maven-micro-shop</artifactId>
  9.         <version>1.0.1</version>
  10.     </parent>
  11.     <artifactId>common-service</artifactId>
  12.     <dependencies>
  13.         <dependency>
  14.             <groupId>commons-io</groupId>
  15.             <artifactId>commons-io</artifactId>
  16.         </dependency>
  17.     </dependencies>
  18. </project>
复制代码
使用maven中的构建下令install,将这个项目放到maven本地堆栈,以供其他两个模块(user-service 和 order-service)使用。

表现出BUILD SUCCESS体现构建乐成。

3 创建用户模块 user-service
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <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 http://maven.apache.org/xsd/maven-4.0.0.xsd">  
  3.   <modelVersion>4.0.0</modelVersion>  
  4.   <parent>
  5.     <groupId>per.mjn</groupId>  
  6.     <artifactId>maven-micro-shop</artifactId>  
  7.     <version>1.0.1</version>
  8.   </parent>  
  9.   <artifactId>user-service</artifactId>
  10.   <packaging>war</packaging>
  11.   <dependencies>
  12.     <dependency>
  13.       <groupId>org.springframework</groupId>
  14.       <artifactId>spring-context</artifactId>
  15.     </dependency>
  16.     <dependency>
  17.       <groupId>com.fasterxml.jackson.core</groupId>
  18.       <artifactId>jackson-databind</artifactId>
  19.     </dependency>
  20.     <!-- 引入自己的工程 -->
  21.     <dependency>
  22.       <groupId>per.mjn</groupId>
  23.       <artifactId>common-service</artifactId>
  24.     </dependency>
  25.   </dependencies>
  26. </project>
复制代码
4 创建订单模块 order-service
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <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 http://maven.apache.org/xsd/maven-4.0.0.xsd">  
  3.   <modelVersion>4.0.0</modelVersion>  
  4.   <parent>
  5.     <groupId>per.mjn</groupId>  
  6.     <artifactId>maven-micro-shop</artifactId>  
  7.     <version>1.0.1</version>
  8.   </parent>  
  9.   <artifactId>order-service</artifactId>
  10.   <packaging>war</packaging>
  11.   <dependencies>
  12.     <dependency>
  13.       <groupId>org.springframework</groupId>
  14.       <artifactId>spring-context</artifactId>
  15.     </dependency>
  16.     <dependency>
  17.       <groupId>org.apache.shiro</groupId>
  18.       <artifactId>shiro-core</artifactId>
  19.     </dependency>
  20.     <!-- 引入自己的工程 -->
  21.     <dependency>
  22.       <groupId>per.mjn</groupId>
  23.       <artifactId>common-service</artifactId>
  24.     </dependency>
  25.   </dependencies>
  26. </project>
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!qidao123.com:ToB企服之家,中国第一个企服评测及软件市场,开放入驻,技术点评得现金

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表