本文旨在用最通俗的语言讲述最枯燥的基本知识

最近要对一个不大不小的项目进行重构,用spring觉得太过于繁琐,用cloud又有觉得过于庞大,维护的人手不够;权衡之下,最终选了springboot作为架子,但是因为项目涉及的业务模块较多,各个模块之间的业务交流不是很多,相对独立,因此想着把项目做成多模块的形式,模块之间可以独立部署,又可以互相调用,满足需求,故而花了点时间,搭了个springboot多模块的架子。

文章提纲:

  1. 多模块的创建
  2. 关键配置
  3. 温馨提示

1. 根模块的创建

springboot的多模块项目构建主要有以下步骤:

  1. 父模块的创建和设置:
  1. 打开idea-》选择Create New Project-》spring initialize-》填写项目名称-》next-》next-》完成父模块的创建。
  2. 打开父模块的pom。把package的值改为pom。
  1. 子模块的创建和设置:
  1. 在创建好的父模块中右键-》New-》module-》spring initialize-》填写项目名称-》选择项目中需要的部件-》next-》完成父模块的创建。
  2. 按照步骤1,创建其它模块
  3. 在父模块的pom中,增加modules节点,把所有子模块加入到父模块中。

``` <!--引入多模块-->
<modules>
<module>module-one</module>
<module>module-two</module>
</modules>
```

  1. 模块间的互相调用
  1. 在需要调用其它模块的模块的pom文件中,增加对其它模块的依赖即可。

```<dependency>
<groupId>com.example</groupId>
<artifactId>module-one</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
```

由于项目构建都是用idea完成的,一个个截图的方式可能有些看管不能看清楚,因此在此选择用视频的方式,具体过程请看下方视频:
点我查看视频教程:《利用springboot创建多模块项目》

2. 关键配置

看完视频之后,作者会发现,构建一个springboot多模块项目真的太简单了,只需要做好几个关键地方的配置就可以了.

  1. 父模块的src,直接删掉
  2. 父模块的pom文件中,打包方式改成pom.
  3. 子模块的创建要在父模块下以module的形式创建
  4. 子模块创建成功之后,在父模块中增加子模块的module
  5. 模块之间的相关关系,用依赖来表示。

3. 温馨提示

  1. 文章仅讲述springboot创建多模块,搭建一个多模块架子,并未对其它组件进行集成,有需要的读者根据自己的需求,在创建模块的时候,选择需要的组件即可。
  2. 对于多个模块共同的依赖,在父pom中设置即可。
  3. 对于多模块项目的打包发布,当需要构建某个模块发布时,选择父pom构建,install -pl open-api -am

觉得本文对你有帮助?请分享给更多人
关注「编程无界」,提升装逼技能

原文地址:https://segmentfault.com/a/1190000017041028

利用springboot创建多模块项目的更多相关文章

  1. SpringBoot之多模块项目

    SpringBoot之多模块项目 说明:我们通过maven的父子工程来搭建springboot的多模块项目** 项目的整体结构 本项目涉及了到了五个模块 framework-web模块主要是放置前端的 ...

  2. Spring-Boot构建多模块项目

    Spring-Boot构建多模块项目 功能模块单独项目开发,可以将一个庞大的项目分解成多个小项目,便于细分开发 Maven多模块项目不能独立存在,必须有一个介质来包含. 1.创建一个Maven 项目, ...

  3. SpringBoot+Mybatis多模块项目搭建教程

    一.前言 框架为SpringBoot+Mybatis,本篇主要记录了在IDEA中搭建SpringBoot多模块项目的过程. 1.开发工具及系统环境 IDE:IntelliJ IDEA 2018.2 系 ...

  4. SpringBoot+Maven 多模块项目的构建、运行、打包实战

    前言 最近在做一个很复杂的会员综合线下线上商城大型项目,单模块项目无法满足多人开发和架构,很多模块都是重复的就想到了把模块提出来,做成公共模块,基于maven的多模块项目,也好分工开发,也便于后期微服 ...

  5. Maven手动创建多模块项目

    Maven手动创建多模块项目 我要创建的项目名称是:unicorn,项目包含两个模块,分别是unicorn-core和unicorn-web.包的路径是com.goldpalm.tour. 项目创建流 ...

  6. maven安装与创建多模块项目

    最新版已同步至 http://yywang.info/2014/05/31/maven-install-and-create-project/ maven是一个比较流行的项目管理工具,在最近参与的项目 ...

  7. SpringBoot+Maven 多模块项目的构建、运行、打包

    SpringBoot+Maven 多模块项目的构建.运行.打包 https://blog.csdn.net/zekeTao/article/details/79413919

  8. Java归去来第2集:利用Eclipse创建Maven Web项目

    一.前言 如果还不了解剧情,请返回第一集的剧情          Java归去来第1集:手动给Eclipse配置Maven环境 二.利用Eclipse创建Maven Web项目 选择File-New- ...

  9. 基于maven使用IDEA创建多模块项目

    原文地址:http://blog.csdn.net/williamhappy/article/details/54376855 鉴于最近学习一个分布式项目的开发,讲一下关于使用IntelliJ IDE ...

随机推荐

  1. bzoj 4622: [NOI 2003] 智破连环阵【dfs+匈牙利算法】

    一个炸弹炸一个区间的武器,想到二分图匹配 但是直接dfs断点显然不行,预处理出dis[i]为i到m的至多值来最优性剪枝,并且标记ok[i][j]为炸弹i可以炸到j武器,mx[i][j]为i炸弹从j武器 ...

  2. ASP.NET Core中间件计算Http请求时间

    ASP.NET Core通过RequestDelegate这个委托类型来定义中间件 public delegate Task RequestDelegate(HttpContext context); ...

  3. PKI体系下的 SSL TLS HTTPS 详解

    背景: SSL(Secure Socket Layer 安全套接层)是一个加密函数库,它可以将应用层上所有明文传输的数据,通过调用SSL库,即可摇身一变成为安全通信连接,SSL最初是由网景公司(Net ...

  4. hdu 3461 Code Lock 并查集(有点难想到)★★

    #include<stdio.h> #include<math.h> ]; int count; #define mod 1000000007 int find(int x) ...

  5. Selenium | 基础入门 | 截屏并保存于本地

    可先参考   Selenium | 基础入门 | 利用Xpath寻找用户框 核心代码: //截屏操作 File srcFile = ((TakesScreenshot)driver).getScree ...

  6. Python转载

    让Python的经验更多一点 Python while 1 和 while True 速度比较 Python %s和%r的区别

  7. Qt 2D绘图之一:基本图形绘制和渐变填充

    Qt中提供了强大的2D绘图系统,可以使用相同的API在屏幕和绘图设备上进行绘制,它主要基于QPainter.QPaintDevice和QPaintEngine这三个类.它们三者的关系如下图所示: QP ...

  8. Codeforces Round #544 (Div. 3) A.Middle of the Contest

    链接:https://codeforces.com/contest/1133/problem/A 题意: 给两个时间点,求中间时间点. 思路: 数学 代码: #include <bits/std ...

  9. 洛谷 P3935 Calculating

    虽然对这道题没有什么帮助,但是还是记一下:约数个数也是可以线性筛的 http://www.cnblogs.com/xzz_233/p/8365414.html 测正确性题目:https://www.l ...

  10. 【Helvetic Coding Contest 2018】B2. Maximum Control (medium)

    Description 传送门(翻译就别想了,本人英语太垃圾) Solution 设ans[i]为设置i个船时能控制的最多星球数(看到这你可能因为是dp,然而我可以很负责地告诉你是假的) 首先一个显然 ...