Sprint 0:MiniShop 初始化
2026/7/3 10:43:30 网站建设 项目流程

目标(必须达成)

你这一阶段要完成 5 件事:

  1. 创建 Maven 多模块工程
  2. 设计分层架构(符合 SpringBoot 企业规范)
  3. 初始化 Git Flow
  4. 定义统一返回体 + 异常体系
  5. 建立基础依赖(MySQL / Redis / MyBatis / Web)

一、项目结构设计(非常关键)

我们采用标准互联网公司结构:

minishop

├── minishop-common // 公共模块(工具类/返回体/异常)
├── minishop-user // 用户服务
├── minishop-product // 商品服务
├── minishop-order // 订单服务
├── minishop-payment // 支付服务

├── minishop-gateway // 后续扩展(API网关)

└── pom.xml(父工程)

每个模块职责(必须理解)

1. common(核心基础模块)

放所有“系统级能力”:

  • 统一返回体
  • 全局异常
  • 工具类
  • 常量
  • 枚举
  • DTO基础结构

👉 所有模块依赖它

-------------------------------------------------------------------------------------------------------------------------

2. user-service

  • 登录
  • 用户信息
  • 地址管理

-------------------------------------------------------------------------------------------------------------------------

3. product-service

  • 商品
  • SKU
  • 分类
  • 库存查询

-------------------------------------------------------------------------------------------------------------------------

4. order-service

  • 下单
  • 订单状态流转
  • 订单查询

-------------------------------------------------------------------------------------------------------------------------

5. payment-service

  • 支付模拟
  • 支付状态回调
  • 超时关闭订单

-------------------------------------------------------------------------------------------------------------------------

二、创建 Maven 父工程Parent Project

⚠️ 父工程没有src

<!-- Parent Project 不打包,所以设为pom。 因为父工程不负责业务代码,也不会生成可执行 Jar,它的职责是统一管理模块、依赖版本和构建配置, 因此需要使用pom打包类型。Maven 会将它作为聚合工程(Aggregator)和父工程(Parent)使用,而不是一个可执行应用。 打包就是jar,Maven就会任务这是一个java程序,会去找src-->

1. 创建 pom.xml(核心)

配置文件声明依赖

  • Maven →pom.xml(Project Object Model)
  • pip →requirements.txt/pyproject.toml
  • Maven 管理的是jar/war 等字节码包,编译后使用
  • pip 管理的是Python 源码包或 wheel 包,解释执行
<?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 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <!--POM 模型版本。--> <!--等价于import minishop--> <groupId>com.minishop</groupId> <!--工程名字--> <artifactId>minishop</artifactId> <!--项目版本--> <version>1.0.0</version> <!-- Parent Project 不打包,所以设为pom。 因为父工程不负责业务代码,也不会生成可执行 Jar,它的职责是统一管理模块、依赖版本和构建配置, 因此需要使用 pom 打包类型。Maven 会将它作为聚合工程(Aggregator)和父工程(Parent)使用,而不是一个可执行应用。 打包就是jar,Maven就会任务这是一个java程序,会去找src--> <packaging>pom</packaging> <modules> <module>minishop-common</module> </modules> <properties> <maven.compiler.source>21</maven.compiler.source> <maven.compiler.target>21</maven.compiler.target> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> </project>

1.1、Parent、Aggregator、Module 到底是什么?

实际上,一个pom.xml可能同时承担两种角色:

① Parent(父工程)② Aggregator(聚合工程)③ Module(业务模块)

① Parent(父工程)——统一给子模块提供配置

如下:那么所有的子模块都将继承<java.version>17</java.version><spring.boot.version>3.5.0</spring.boot.version>,不需要每个模块都写一遍

<properties> <java.version>17</java.version> <spring.boot.version>3.5.0</spring.boot.version> </properties>

② Aggregator(聚合工程)——告诉Maven,我的项目由哪些Module组成。

例如:以后执行mvn clean install ,Maven不只编译 minishop,还按顺序编译子模块

<modules> <module>minishop-common</module> <module>minishop-user</module> <module>minishop-order</module> </modules>

③ Module(业务模块)——即上述子模块

业务模块中,一般才有src、controller、service、mapper

总结:

Parent——》管理配置

Aggregator——》管理模块

Module——》真正写业务

1.2 Spring Boot Parent

没有 Spring Boot Parent

你需要自己管理:

  • Spring 版本
  • Jackson 版本
  • Logback 版本
  • MyBatis 版本
  • 兼容性

有 Spring Boot Parent

你只需要写:

spring-boot-starter-web

其他全部自动匹配。

<!-- Spring Boot Parent --> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>3.3.5</version> <relativePath/> </parent>

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询