当前位置:   article > 正文

Springboot多模块创建以及依赖传递_springboot创建多模块项目

springboot创建多模块项目

一、创建多模块项目

1.新建父级模块

更改项目名称以及组名称, 删除包名后缀项目名称, 选择java17并点击next选择lombok, 此外还需要勾选Spring Data  Redis(Access+Driver), mybatis并点击创建

父级模块不需要src所以这里删除

父级模块pom.xml当中删除

  1. <dependency>
  2. <groupId>org.springframework.boot</groupId>
  3. <artifactId>spring-boot-starter-test</artifactId>
  4. <scope>test</scope>
  5. </dependency>
  1. <configuration>
  2. <mainClass>cn.kgc.QuestionPlatFormApplication</mainClass>
  3. <skip>true</skip>
  4. </configuration>
  1. <build>
  2. <plugins>
  3. <plugin>
  4. <groupId>org.springframework.boot</groupId>
  5. <artifactId>spring-boot-maven-plugin</artifactId>
  6. <configuration>
  7. <excludes>
  8. <exclude>
  9. <groupId>org.projectlombok</groupId>
  10. <artifactId>lombok</artifactId>
  11. </exclude>
  12. </excludes>
  13. </configuration>
  14. </plugin>
  15. </plugins>
  16. </build>

2.新建bean模块

不需要添加额外jar包直接点击create即可

删除.gitignore, 删除test包, 删除src.main.java.cn.kgc.bean当中的启动项, 删除main当中的resources包

在src当中bean包下面新建dto, pojo, vo

删除HELP.md

打开bean模块的pom.xml文件

1.删除<properties></properties>

  1. <properties>
  2. <java.version>17</java.version>
  3. </properties>

2.删除<dependencies></dependencies>当中的jar包依赖

  1. <dependency>
  2. <groupId>org.springframework.boot</groupId>
  3. <artifactId>spring-boot-starter</artifactId>
  4. </dependency>
  5. <dependency>
  6. <groupId>org.springframework.boot</groupId>
  7. <artifactId>spring-boot-starter-test</artifactId>
  8. <scope>test</scope>
  9. </dependency>

3.删除<dependencies></dependencies>以及<dependencyManagement></dependencyManagement>

(如果有dependencyManagement的话, 我就没有这个)

4.需要在<build></build>的<plugins></plugins>当中的<plugin></plugin>创建

  1. <configuration>
  2. <skip>true</skip>
  3. </configuration>

5.ctrl + F搜索<description>

在<description>bean</description>末尾回车

新建

<packaging>jar</packaging>

6.返回父级的pom.xml

比如我的父级pom文件

在<description>questionPlatform</description>末尾回车

新建

(这里还需要添加bean作为子模块)

  1. <packaging>pom</packaging>
  2. <modules>
  3. <module>bean</module>
  4. </modules>

7.复制父级模块当中的

  1. <groupId>cn.kgc</groupId>
  2. <artifactId>questionPlatForm</artifactId>
  3. <version>0.0.1-SNAPSHOT</version>

作为模块引入到子模块的pom.xml当中

这里是bean模块当中的pom.xml

(父级模块当中的所有模块需要被子模块共享)

        将上方父级模块的内容作为parent引入

在子模块<packaging>jar</packaging>末尾回车

新建

  1. <parent>
  2. <groupId>cn.kgc</groupId>
  3. <artifactId>questionPlatForm</artifactId>
  4. <version>0.0.1-SNAPSHOT</version>
  5. <parent>

如果遇到报错可能是当前pom.xml当中存在第二个parent, 将其中内容删除并且替换为父级内容也可以生效

3.新建mapper模块

添加mysql依赖

1.新建好模块后删除模块当中的HELP.md, .gitignore, src当中的resources配置以及启动项

2.打开mapper的pom.xml, 删除<properties></properties>

在<description>mapper</description>

下新建

<packaging>jar</packaging>

3.删除

  1. <dependency>
  2. <groupId>org.mybatis.spring.boot</groupId>
  3. <artifactId>mybatis-spring-boot-starter-test</artifactId>
  4. <version>3.0.3</version>
  5. <scope>test</scope>
  6. </dependency>

删除<dependencyManagement></dependencyManagement>

        (如果有的话)

4.需要在<build></build>的<plugins></plugins>当中的<plugin></plugin>创建

  1. <configuration>
  2. <skip>true</skip>
  3. </configuration>

5.添加parent父级依赖

  1. <parent>
  2. <groupId>cn.kgc</groupId>
  3. <artifactId>questionPlatForm</artifactId>
  4. <version>0.0.1-SNAPSHOT</version>
  5. </parent>

6.在父级pom.xml

<modules>
    <module>bean</module>
</modules>

新增mapper子模块

  1. <modules>
  2. <module>bean</module>
  3. <module>mapper</module>
  4. </modules>

4.新建service层

创建好模块进行一系列删除, 删除test包,resources包 .gitignore, HELP.md, main当中的启动类

1.打开Service模块的pom.xml

删除<properties></properties>

在<description>mapper</description>

下新建

<packaging>jar</packaging>

2.删除<dependencies></dependencies>当中jar包依赖, 以及

<dependencyManagement></dependencyManagement>

        (如果有的话)

3.需要在<build></build>的<plugins></plugins>当中的<plugin></plugin>创建

  1. <configuration>
  2. <skip>true</skip>
  3. </configuration>

4.添加parent父级依赖

  1. <parent>
  2. <groupId>cn.kgc</groupId>
  3. <artifactId>questionPlatForm</artifactId>
  4. <version>0.0.1-SNAPSHOT</version>
  5. </parent>

5.在父级pom.xml

<modules>
    <module>bean</module>
</modules>

新增service子模块

  1. <modules>
  2. <module>bean</module>
  3. <module>mapper</module>
  4. <module>service</module>
  5. </modules>

5.新建web层

 选择web依赖

创建好模块进行一系列删除, 删除test包, .gitignore, HELP.md

        1.保留main当中的启动类

        在java.cn.kgc新建controller, interceptor, handler

        保留resources包但是删除包下的static

        2.修改application.properties为yml文件

        3.新建mappers

1.打开web层的pom.xml

删除<properties></properties>

在<description>mapper</description>

下新建

<packaging>jar</packaging>

2.删除<dependencies></dependencies>当中

  1. <dependency>
  2. <groupId>org.springframework.boot</groupId>
  3. <artifactId>spring-boot-starter-test</artifactId>
  4. <scope>test</scope>
  5. </dependency>

jar包依赖, 以及

<dependencyManagement></dependencyManagement>

        (如果有的话)

3.需要在<build></build>的<plugins></plugins>当中的<plugin></plugin>创建

  1. <configuration>
  2. <mainClass>cn.kgc.WebApplication</mainClass>
  3. </configuration>

4.添加parent父级依赖

  1. <parent>
  2. <groupId>cn.kgc</groupId>
  3. <artifactId>questionPlatForm</artifactId>
  4. <version>0.0.1-SNAPSHOT</version>
  5. </parent>

5.在父级pom.xml

<modules>
    <module>bean</module>
</modules>

新增web子模块

  1. <modules>
  2. <module>bean</module>
  3. <module>mapper</module>
  4. <module>service</module>
  5. <module>web</module>
  6. </modules>

5.新建config层

创建好模块进行一系列删除, 删除test包,resources包 .gitignore, HELP.md, main当中的启动类

1.打开Service模块的pom.xml

删除<properties></properties>

在<description>mapper</description>

下新建

<packaging>jar</packaging>

2.删除<dependencies></dependencies>当中jar包依赖, 以及

<dependencyManagement></dependencyManagement>

        (如果有的话)

3.需要在<build></build>的<plugins></plugins>当中的<plugin></plugin>创建

  1. <configuration>
  2. <skip>true</skip>
  3. </configuration>

4.添加parent父级依赖

  1. <parent>
  2. <groupId>cn.kgc</groupId>
  3. <artifactId>questionPlatForm</artifactId>
  4. <version>0.0.1-SNAPSHOT</version>
  5. </parent>

5.在父级pom.xml

<modules>
    <module>bean</module>
</modules>

新增config子模块

  1. <modules>
  2. <module>bean</module>
  3. <module>mapper</module>
  4. <module>service</module>
  5. <module>web</module>
  6. <module>config</module>
  7. </modules>

6.新建common层

创建好模块进行一系列删除, 删除test包,resources包 .gitignore, HELP.md, main当中的启动类

1.在java.cn.kgc.common下新建文件夹 utils, exceptions, constants

1.2打开Service模块的pom.xml

删除<properties></properties>

在<description>mapper</description>

下新建

<packaging>jar</packaging>

2.删除<dependencies></dependencies>当中jar包依赖, 以及

<dependencyManagement></dependencyManagement>

        (如果有的话)

3.需要在<build></build>的<plugins></plugins>当中的<plugin></plugin>创建

  1. <configuration>
  2. <skip>true</skip>
  3. </configuration>

4.添加parent父级依赖

  1. <parent>
  2. <groupId>cn.kgc</groupId>
  3. <artifactId>questionPlatForm</artifactId>
  4. <version>0.0.1-SNAPSHOT</version>
  5. </parent>

5.在父级pom.xml

<modules>
    <module>bean</module>
</modules>

新增common子模块

  1. <modules>
  2. <module>bean</module>
  3. <module>mapper</module>
  4. <module>service</module>
  5. <module>web</module>
  6. <module>config</module>
  7. <module>common</module>
  8. </modules>

7.新建aop层

创建好模块进行一系列删除, 删除test包,resources包 .gitignore, HELP.md, main当中的启动类

1.打开Service模块的pom.xml

删除<properties></properties>

在<description>mapper</description>

下新建

<packaging>jar</packaging>

2.删除<dependencies></dependencies>当中jar包依赖

只添加并保留

  1. <dependencies>
  2. <dependency>
  3. <groupId>org.springframework.boot</groupId>
  4. <artifactId>spring-boot-starter-aop</artifactId>
  5. </dependency>
  6. </dependencies>

, 以及

<dependencyManagement></dependencyManagement>

        (如果有的话)

3.需要在<build></build>的<plugins></plugins>当中的<plugin></plugin>创建

  1. <configuration>
  2. <skip>true</skip>
  3. </configuration>

4.添加parent父级依赖

  1. <parent>
  2. <groupId>cn.kgc</groupId>
  3. <artifactId>questionPlatForm</artifactId>
  4. <version>0.0.1-SNAPSHOT</version>
  5. </parent>

5.在父级pom.xml

<modules>
    <module>bean</module>
</modules>

新增aop子模块

  1. <modules>
  2. <module>bean</module>
  3. <module>mapper</module>
  4. <module>service</module>
  5. <module>web</module>
  6. <module>config</module>
  7. <module>common</module>
  8. <module>aop</module>
  9. </modules>

二、引入模块之间依赖(依赖传递)

1.复制bean模块的pom.xml当中的

  1. <groupId>cn.kgc</groupId>
  2. <artifactId>bean</artifactId>
  3. <version>0.0.1-SNAPSHOT</version>

并将其粘贴到mapper层的pom.xml的<dependencies></dependencies>当中

  1. <!--引入bean层依赖-->
  2. <dependency>
  3. <groupId>cn.kgc</groupId>
  4. <artifactId>bean</artifactId>
  5. <version>0.0.1-SNAPSHOT</version>
  6. </dependency>

2.复制mapper模块的pom.xml当中的

  1. <groupId>cn.kgc</groupId>
  2. <artifactId>mapper</artifactId>
  3. <version>0.0.1-SNAPSHOT</version>

并将其粘贴到service层的pom.xml的<dependencies></dependencies>当中

  1. <!--引入mapper层依赖-->
  2. <dependency>
  3. <groupId>cn.kgc</groupId>
  4. <artifactId>mapper</artifactId>
  5. <version>0.0.1-SNAPSHOT</version>
  6. </dependency>

 3.复制service模块的pom.xml当中的

  1. <groupId>cn.kgc</groupId>
  2. <artifactId>service</artifactId>
  3. <version>0.0.1-SNAPSHOT</version>

并将其粘贴到web层的pom.xml的<dependencies></dependencies>当中

  1. <!--引入service层依赖-->
  2. <dependency>
  3. <groupId>cn.kgc</groupId>
  4. <artifactId>service</artifactId>
  5. <version>0.0.1-SNAPSHOT</version>
  6. </dependency>

以及aop层的 pom.xml的<dependencies></dependencies>当中

  1. <!--引入service层依赖-->
  2. <dependency>
  3. <groupId>cn.kgc</groupId>
  4. <artifactId>service</artifactId>
  5. <version>0.0.1-SNAPSHOT</version>
  6. </dependency>

 4.复制aop模块的pom.xml当中的

  1. <groupId>cn.kgc</groupId>
  2. <artifactId>aop</artifactId>
  3. <version>0.0.1-SNAPSHOT</version>

并将其粘贴到web层的pom.xml的<dependencies></dependencies>当中

  1. <!--引入aop层依赖-->
  2. <dependency>
  3. <groupId>cn.kgc</groupId>
  4. <artifactId>aop</artifactId>
  5. <version>0.0.1-SNAPSHOT</version>
  6. </dependency>

 5.复制config模块的pom.xml当中的

  1. <groupId>cn.kgc</groupId>
  2. <artifactId>config</artifactId>
  3. <version>0.0.1-SNAPSHOT</version>

并将其粘贴到web层的pom.xml的<dependencies></dependencies>当中

  1. <!--引入config层依赖-->
  2. <dependency>
  3. <groupId>cn.kgc</groupId>
  4. <artifactId>config</artifactId>
  5. <version>0.0.1-SNAPSHOT</version>
  6. </dependency>

6.复制common模块的pom.xml当中的

  1. <groupId>cn.kgc</groupId>
  2. <artifactId>common</artifactId>
  3. <version>0.0.1-SNAPSHOT</version>

 并将其粘贴到bean层的pom.xml的<dependencies></dependencies>当中

  1. <!--引入common层依赖-->
  2. <dependency>
  3. <groupId>cn.kgc</groupId>
  4. <artifactId>common</artifactId>
  5. <version>0.0.1-SNAPSHOT</version>
  6. </dependency>

三、确认项目创建成功

点击idea右侧maven, 找到 questionPlatForm(root) 带有root标识的

子选项 Lifecyle

找到install并点击运行

如果运行完毕并且出现

  1. [INFO] ------------------------------------------------------------------------
  2. [INFO] Reactor Summary for questionPlatForm 0.0.1-SNAPSHOT:
  3. [INFO]
  4. [INFO] questionPlatForm ................................... SUCCESS [ 0.315 s]
  5. [INFO] common ............................................. SUCCESS [ 3.208 s]
  6. [INFO] bean ............................................... SUCCESS [ 0.283 s]
  7. [INFO] mapper ............................................. SUCCESS [ 0.698 s]
  8. [INFO] aop ................................................ SUCCESS [ 0.247 s]
  9. [INFO] service ............................................ SUCCESS [ 0.228 s]
  10. [INFO] config ............................................. SUCCESS [ 0.215 s]
  11. [INFO] web ................................................ SUCCESS [ 6.040 s]
  12. [INFO] ------------------------------------------------------------------------
  13. [INFO] BUILD SUCCESS
  14. [INFO] ------------------------------------------------------------------------
  15. [INFO] Total time: 11.912 s
  16. [INFO] Finished at: 2024-03-14T11:27:55+08:00
  17. [INFO] ------------------------------------------------------------------------
  18. Process finished with exit code 0

则表示项目配置是没有问题的

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/531013
推荐阅读
相关标签
  

闽ICP备14008679号