欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

小尝试:IDEA搭建Springboot多模块项目

程序员文章站 2024-02-03 20:32:52
...

  • 工具:IntelliJ IDEA
  • 准备:先考虑好自己想要划分为多少个子模块。确定相关模块的名称。

我这里是为了研究下单点登录的大概思路,所以定义了UC(用户认证模块)、common(公共工具模块)、server1(服务1模块)、server2(服务2 模块)


下面进入正题:

  1. 新建一个Spring Initializer项目,填写相应的Group,Artifact,然后一路点next到结束,不需要关心依赖的问题,后期需要我们在手动引入即可。具体如图

小尝试:IDEA搭建Springboot多模块项目
完成以后,项目的目录结构如下,因为是父模块,只负责统一管理其他子模块的依赖,所以可以将parent的src文件夹删除。同时,修改parent的pom.xml,将packing更改为pom,同时加入其他子模块,具体如图
小尝试:IDEA搭建Springboot多模块项目
小尝试:IDEA搭建Springboot多模块项目

<packaging>pom</packaging>

    <modules>
        <module>uc</module>
        <module>common</module>
        <module>server1</module>
        <module>server2</module>
    </modules>

2.右键parent,新建module,选择Spring Initializer,重复以上操作新建出对应的四个子模块。具体如图
小尝试:IDEA搭建Springboot多模块项目
因为子模块可以直接继承父模块中定义的相关依赖,所以子模块中与父模块相同的依赖可以去除。
3.父子模块之间的配置
将子模块的parent标签指向父模块,对照父模块的gtoupId、artifactid以及版本进行覆盖,注意relativePath指向父模块的pom文件的相对位置,路径要写对。其次,子模块中的一些配置比如依赖、版本等都在父模块中定义了,所以无需列出来。有多少个子模块就重复这个步骤多少次吧。
小尝试:IDEA搭建Springboot多模块项目
4.子模块之间的引用
子模块之间的引用关系如表

common uc server1 server2
common
UC
server1
server2

所以UC模块的pom 添加一下依赖

 		<dependency>
            <groupId>com.sso</groupId>
            <artifactId>common</artifactId>
            <version>0.0.1-SNAPSHOT</version>
        </dependency>

server1、server2添加一下依赖

 		<dependency>
            <groupId>com.sso</groupId>
            <artifactId>common</artifactId>
            <version>0.0.1-SNAPSHOT</version>
        </dependency>
        <dependency>
            <groupId>com.sso</groupId>
            <artifactId>uc</artifactId>
            <version>0.0.1-SNAPSHOT</version>
        </dependency>

5、启动对应的项目进行测试
其中UC端口8081、server1端口9091、server端口9092
小尝试:IDEA搭建Springboot多模块项目
小尝试:IDEA搭建Springboot多模块项目
小尝试:IDEA搭建Springboot多模块项目
6.至此基于IDEA的Springboot多模块集成成功~
如果有问题,请多指教!!!