详解Maven 搭建spring boot多模块项目(附源码)

发布时间 - 2026-01-11 03:08:21    点击率:

本文介绍了Maven 搭建spring boot多模块项目,分享给大家,具体如下:

备注:所有项目都在idea中创建

1.idea创建maven项目

  • 1-1: 删除src,target目录,只保留pom.xml
  • 1-2: 根目录pom.xml可被子模块继承,因此项目只是demo,未考虑太多性能问题,所以将诸多依赖。都写在根级`pom.xml`,子模块只需继承就可以使用。
  • 1-3: 根级pom.xml文件在附录1
  • 1-4: 依赖模块 mybatis spring-boot相关模块

2.创建子模块(module)

  • 2-1: file > new > module 输入 model
  • 2-2: file > new > module 输入 dao
  • 2-3: file > new > module 输入 service
  • 2-4: file > new > module 输入 webapi

3.修改子模块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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <parent>
    <artifactId>parent</artifactId>
    <groupId>com.luyh.projectv1</groupId>
    <version>1.0-SNAPSHOT</version>
    <relativePath>../pom.xml</relativePath>
  </parent>
  <modelVersion>4.0.0</modelVersion>

  <artifactId>projectv1-model</artifactId>
</project>

注意:<font color="red"><relativePath>../pom.xml</relativePath></font>此段必须加上,用来继承父模块

至此,项目的基础结构搭建完毕了,接下来可以来撸代码了,哦哦稍等,我先介绍下各个子module的工作职责吧

4.子模块在项目中担任的'工作职责'

  • model 此模块存放着所有的实体类
  • dao 此模块存放着数据交互的具体实现,供service调用
  • service 此模块存放业务代码实现,供API层调用
  • webapi 此模块也可以不出现在项目中,为了写demo故将webapi层放进来

5.model层实体类编写

  • 建立包名 com.luyh.projectv1.model
  • 建实体类 Member.java 具体代码请clone我的git,git地址在最下方

6.dao层数据库操作层

  • 建立com.luyh.projectv1.dao.config,该包内只有2个让spring boot自动加载配置的配置java类
  • 建立MemberMapper.java 具体内容看代码
  • 在resources/mybatis 下建立MemberMapper.xml
  • 建立IMember.java
  • 建立Member.java 实现Imember接口
  • 建立resources/application.properties文件用于配置数据库连接

7. service 编写业务逻辑

  • 建立 com.luyh.projectv1.service 包
  • 建立IMemberService.java接口
  • 建立MemberService.java实现类
  • MemberService.java 类中自动注入DaoMember 并调用其方法获取数据

8. webapi 编写webapi获取json数据

  • 建立Application.java 启动应用
  • 建立 com.luyh.projectv1.webapi.controller.MemberController.java 写个rest风格Controller
  • 启动

9.sql文件 请自行导入mysql数据 sql文件

这里是项目地址,点击下载

附录1

<?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>

  <groupId>com.luyh.projectv1</groupId>
  <artifactId>parent</artifactId>
  <version>1.0-SNAPSHOT</version>
  <packaging>pom</packaging>
  <parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.3.3.RELEASE</version>
  </parent>
  <modules>

    <module>model</module>
    <module>dao</module>
    <module>service</module>
    <module>webapi</module>
  </modules>

  <!--申明依赖关系-->
  <dependencies>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-web</artifactId>
    </dependency>

    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-jdbc</artifactId>
    </dependency>

    <dependency>
      <groupId>org.mybatis</groupId>
      <artifactId>mybatis-spring</artifactId>
      <version>1.2.2</version>
    </dependency>
    <dependency>
      <groupId>org.mybatis</groupId>
      <artifactId>mybatis</artifactId>
      <version>3.2.8</version>
    </dependency>

    <dependency>
      <groupId>org.apache.tomcat</groupId>
      <artifactId>tomcat-jdbc</artifactId>
    </dependency>

    <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
    </dependency>
  </dependencies>

  <!--设置maven仓库-->

  <repositories>
    <repository>
      <id>spring-releases</id>
      <url>https://repo.spring.io/libs-release</url>
    </repository>
  </repositories>
  <pluginRepositories>
    <pluginRepository>
      <id>spring-releases</id>
      <url>https://repo.spring.io/libs-release</url>
    </pluginRepository>
  </pluginRepositories>


</project>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# springboot  # maven模块  # springboot多模块项目  # spring  # boot  # 多模块  # IDEA创建SpringBoot的maven项目的方法步骤  # Maven搭建springboot项目的方法步骤  # springboot+maven快速构建项目的示例代码  # Maven项目改为spring boot项目的方法图解  # SpringBoot创建maven多模块项目实战代码  # 如何用Maven开发Spring Boot项目详解  # 放着  # 工作职责  # 实体类  # 太多  # 都在  # 不出  # 只需  # 给大家  # 我先  # 点击下载  # 写在  # 具体内容  # 大家多多  # 就可以  # 类中  # 稍等  # 哦哦  # 多模  # 自动加载  # 请自行 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 如何基于PHP生成高效IDC网络公司建站源码?  浅谈redis在项目中的应用  C语言设计一个闪闪的圣诞树  Laravel如何实现登录错误次数限制_Laravel自带LoginThrottles限流配置【方法】  佐糖AI抠图怎样调整抠图精度_佐糖AI精度调整与放大细化操作【攻略】  香港服务器建站指南:外贸独立站搭建与跨境电商配置流程  Laravel怎么连接多个数据库_Laravel多数据库连接配置  Laravel如何获取当前用户信息_Laravel Auth门面获取用户ID  Laravel如何处理跨站请求伪造(CSRF)保护_Laravel表单安全机制与令牌校验  油猴 教程,油猴搜脚本为什么会网页无法显示?  中山网站推广排名,中山信息港登录入口?  谷歌浏览器下载文件时中断怎么办 Google Chrome下载管理修复  如何在云服务器上快速搭建个人网站?  如何用已有域名快速搭建网站?  Laravel怎么发送邮件_Laravel Mail类SMTP配置教程  微信小程序制作网站有哪些,微信小程序需要做网站吗?  EditPlus中的正则表达式 实战(2)  Laravel Eloquent模型如何创建_Laravel ORM基础之Model创建与使用教程  phpredis提高消息队列的实时性方法(推荐)  软银砸40亿美元收购DigitalBridge 强化AI资料中心布局  如何用AI帮你把自己的生活经历写成一个有趣的故事?  googleplay官方入口在哪里_Google Play官方商店快速入口指南  Laravel如何使用Service Provider注册服务_Laravel服务提供者配置与加载  Laravel N+1查询问题如何解决_Eloquent预加载(Eager Loading)优化数据库查询  DeepSeek是免费使用的吗 DeepSeek收费模式与Pro版本功能详解  如何在万网主机上快速搭建网站?  Linux系统命令中tree命令详解  Windows10电脑怎么查看硬盘通电时间_Win10使用工具检测磁盘健康  如何用搬瓦工VPS快速搭建个人网站?  QQ浏览器网页版登录入口 个人中心在线进入  Laravel中的Facade(门面)到底是什么原理  JS弹性运动实现方法分析  微信小程序 HTTPS报错整理常见问题及解决方案  如何在VPS电脑上快速搭建网站?  Laravel怎么实现搜索功能_Laravel使用Eloquent实现模糊查询与多条件搜索【实例】  Bootstrap CSS布局之列表  Laravel Artisan命令怎么自定义_创建自己的Laravel命令行工具完全指南  如何自定义建站之星网站的导航菜单样式?  如何自定义建站之星模板颜色并下载新样式?  Laravel DB事务怎么使用_Laravel数据库事务回滚操作  如何用ChatGPT准备面试 模拟面试问答与职场话术练习教程  IOS倒计时设置UIButton标题title的抖动问题  如何用腾讯建站主机快速创建免费网站?  如何用景安虚拟主机手机版绑定域名建站?  uc浏览器二维码扫描入口_uc浏览器扫码功能使用地址  Python文件流缓冲机制_IO性能解析【教程】  Python正则表达式进阶教程_复杂匹配与分组替换解析  JavaScript如何操作视频_媒体API怎么控制播放  百度输入法ai组件怎么删除 百度输入法ai组件移除工具  Python图片处理进阶教程_Pillow滤镜与图像增强