当前位置: 代码网 > it编程>编程语言>Java > SpringBoot多模块搭建的实现示例

SpringBoot多模块搭建的实现示例

2024年08月09日 Java 我要评论
一、springboot多模块介绍spring boot是一个用于快速开发基于spring框架的应用程序的工具。多模块开发是指将一个大型应用程序拆分为多个模块(或子项目),每个模块负责不同的功能或业务

一、springboot多模块介绍

spring boot是一个用于快速开发基于spring框架的应用程序的工具。多模块开发是指将一个大型应用程序拆分为多个模块(或子项目),每个模块负责不同的功能或业务逻辑。在spring boot中,多模块开发可以帮助我们更好地组织代码、提高代码的可维护性和可扩展性。

在spring boot中,可以使用maven或gradle等构建工具来创建多模块项目。每个模块可以包含自己的源代码、配置文件和依赖项,同时也可以有自己的打包方式和部署方式。在多模块开发中,通常会有一个父模块(或者称为根模块),用于管理所有子模块之间的依赖关系和版本控制。

通过多模块开发,我们可以将不同功能的代码分离到不同的模块中,使得代码更加清晰和易于管理。同时,每个模块可以独立进行测试、构建和部署,有利于团队协作和项目的持续集成与部署。

总的来说,spring boot多模块开发可以帮助我们更好地组织和管理代码,提高开发效率和代码质量,是一个非常实用的开发方式。

二、搭建多模块

我们按照功能搭建多模块

1. 我们先建立父模块

在这里插入图片描述

这里我们什么都不用选直接点击create

2、创建子模块

父项目名称->右键->new->moudle

在这里插入图片描述

依次创建provide1、provide2、common、server,一样不用选如何依赖

在这里插入图片描述

将common、provide1、provide2的启动类和框出来的这些都删除

在这里插入图片描述

在父模块的pom里面声明子模块

<?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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelversion>4.0.0</modelversion>

    <groupid>com.example</groupid>
    <artifactid>demo</artifactid>
    <version>0.0.1-snapshot</version>
    <name>demo</name>
    <description>demo</description>

    <properties>
        <java.version>1.8</java.version>
        <project.build.sourceencoding>utf-8</project.build.sourceencoding>
        <project.reporting.outputencoding>utf-8</project.reporting.outputencoding>
        <spring-boot.version>2.6.13</spring-boot.version>
    </properties>

    <!---父模块的打包方式-->
    <packaging>pom</packaging>

    <!--将子模块放在一堆-->
    <modules>
        <module>provide1</module>
        <module>provide2</module>
        <module>server</module>
        <module>common</module>
    </modules>

    <dependencymanagement>
        <dependencies>

            <dependency>
                <groupid>com.example</groupid>
                <artifactid>common</artifactid>
                <version>0.0.1-snapshot</version>
            </dependency>

            <dependency>
                <groupid>com.example</groupid>
                <artifactid>server</artifactid>
                <version>0.0.1-snapshot</version>
            </dependency>

            <dependency>
                <groupid>com.example</groupid>
                <artifactid>provide1</artifactid>
                <version>0.0.1-snapshot</version>
            </dependency>

            <dependency>
                <groupid>com.example</groupid>
                <artifactid>provide2</artifactid>
                <version>0.0.1-snapshot</version>
            </dependency>

            <dependency>
                <groupid>org.springframework.boot</groupid>
                <artifactid>spring-boot-dependencies</artifactid>
                <version>${spring-boot.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencymanagement>
    
</project>

在每一个子模块的pom文件进行修改

  • common模块里面放入通用的依赖
<?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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelversion>4.0.0</modelversion>

    <parent>
        <artifactid>demo</artifactid>
        <groupid>com.example</groupid>
        <version>0.0.1-snapshot</version>
    </parent>
    <artifactid>common</artifactid>
    <description>通用模块</description>

<dependencies>
    <dependency>
        <groupid>org.springframework.boot</groupid>
        <artifactid>spring-boot-starter-test</artifactid>
    </dependency>


    <dependency>
        <groupid>org.springframework.boot</groupid>
        <artifactid>spring-boot-starter-web</artifactid>
    </dependency>

</dependencies>
</project>
  • server模块
<?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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelversion>4.0.0</modelversion>

    <parent>
        <artifactid>demo</artifactid>
        <groupid>com.example</groupid>
        <version>0.0.1-snapshot</version>
    </parent>
    <artifactid>server</artifactid>
    <description>启动模块</description>


    <dependencies>

        <dependency>
            <groupid>com.example</groupid>
            <artifactid>provide1</artifactid>
        </dependency>

        <dependency>
            <groupid>com.example</groupid>
            <artifactid>provide2</artifactid>
        </dependency>

    </dependencies>

</project>
  • provide1模块
<?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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelversion>4.0.0</modelversion>

    <parent>
        <artifactid>demo</artifactid>
        <groupid>com.example</groupid>
        <version>0.0.1-snapshot</version>
    </parent>
    <artifactid>provide1</artifactid>
    <description>provide1模块</description>

    <dependencies>
        <dependency>
            <groupid>com.example</groupid>
            <artifactid>common</artifactid>
            <version>0.0.1-snapshot</version>
        </dependency>
    </dependencies>

</project>
  • provide2模块
<?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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelversion>4.0.0</modelversion>

    <parent>
        <artifactid>demo</artifactid>
        <groupid>com.example</groupid>
        <version>0.0.1-snapshot</version>
    </parent>
    <artifactid>provide2</artifactid>
    <description>provide2模块</description>

    <dependencies>
        <dependency>
            <groupid>com.example</groupid>
            <artifactid>common</artifactid>
            <version>0.0.1-snapshot</version>
        </dependency>
    </dependencies>

</project>

在provide1里面创建一个resource再创建一个application.yml写一个端口号

server:
  port: 8081

在这里插入图片描述

这样模块就搭建成功了

到此这篇关于springboot多模块搭建的实现示例的文章就介绍到这了,更多相关springboot多模块搭建内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com