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

最近要对一个不大不小的项目进行重构,用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. C#读取大文件

    有些时候需要读取文件,小文件的时候效率的影响可以忽略,但是当文件上M,上G的时候,这个时候,效率问题就非常重要了,下面将对一个3G的文件,用C#的方式读取,对比效率的影响. 1. FileStream ...

  2. (数位DP)51NOD 1042 数字0-9的数量

    给出一段区间a-b,统计这个区间内0-9出现的次数. 比如 10-19,1出现11次(10,11,12,13,14,15,16,17,18,19,其中11包括2个1),其余数字各出现1次.   输入 ...

  3. Caffe实战二(手写体识别例程:CPU、GPU、cuDNN速度对比)

    上一篇文章成功在CPU模式下编译了Caffe,接下来需要运行一个例程来直观的了解Caffe的作用.(参考:<深度学习 21天实战Caffe>第6天 运行手写体数字识别例程) 编译步骤: C ...

  4. Spark MLlib编程API入门系列之特征选择之卡方特征选择(ChiSqSelector)

    不多说,直接上干货! 特征选择里,常见的有:VectorSlicer(向量选择) RFormula(R模型公式) ChiSqSelector(卡方特征选择). ChiSqSelector用于使用卡方检 ...

  5. linux高负载下mysql数据库彻底优化

    同时在线访问量继续增大 对于1G内存的服务器明显感觉到吃力严重时甚至每天都会死机 或者时不时的服务器卡一下 这个问题曾经困扰了我半个多月MySQL使用是很具伸缩性的算法,因此你通常能用很少的内存运行或 ...

  6. 【转】彻底解析Android缓存机制——LruCache

    彻底解析Android缓存机制——LruCache 关于Android的三级缓存,其中主要的就是内存缓存和硬盘缓存.这两种缓存机制的实现都应用到了LruCache算法,今天我们就从使用到源码解析,来彻 ...

  7. 使用 Azure ARM 部署Word Press 遇到 Extension节点 扩展的问题

    在使用Azure ARM模式部署wordpress,将php网站压缩成zip的形式在DefaultTemplate模板中已扩展的形式实现安装 遇到的问题总结: 1.开始在sites节点中,resour ...

  8. 两个已排序数组的合并-C语言

    最近在纸上写一个已排序数组的合并时,花了超过预期的时间.仔细想想,这种要放到毕业找工作那会两下就出来了,原因还在于工作后对基础没有重视,疏于练习. 说开一点,现在搜索引擎的发达确实给问题的解决带来了便 ...

  9. 【HEVC帧间预测论文】P1.4 Motion Vectors Merging: Low Complexity Prediction Unit Decision

    Motion Vectors Merging: Low Complexity Prediction Unit Decision Heuristic for the inter-Prediction o ...

  10. 大型Java Web项目的架构和部署问题

    一位ID是jackson1225的网友在javaeye询问了一个大型Web系统的架构和部署选型问题,希望能提高现有的基于Java的Web应用的服务能力.由于架构模式和部署调优一直是Java社区的热门话 ...