SpringBoot创建多模块项目

一、简介

SpringBoot是一个高效的工具,它能够快速便捷地创建一个整体完整的项目,而且能够与各种其他的框架集成。对于一个大型的项目来说,一个整体完整的项目可能并不是最好的方案。为了解决这个问题,我们可以采用多模块的方式进行项目开发,这样既能够实现独立部署,也能够进一步提高开发效率。

二、创建多模块项目

在创建多模块项目之前,需要明确一个概念,就是模块(module)。模块是指一组代码和资源的集合,它可以单独编译、测试、打包和部署。在Java中,模块通常使用Maven或Gradle管理。在SpringBoot中,我们也可以使用Maven或Gradle来维护多模块项目。接下来,我们一步一步进行多模块项目的创建。

1. 创建父项目

在创建多模块项目的时候,通常需要先创建一个父项目(pom项目),这个父项目的作用是维护所有子模块的公共依赖,比如SpringBoot版本号、数据库连接池等等。创建父项目的方式略有不同,因为这个项目没有实际功能,仅仅是为了维护所有子模块的公共依赖,所以代码极简。

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

    <groupId>org.example</groupId>
    <artifactId>parent</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>pom</packaging>

	<modules>
		<module>child1</module>
		<module>child2</module>
	</modules>

	<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
			</plugin>
		</plugins>
	</build>

	<dependencies>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-parent</artifactId>
			<version>2.4.4</version>
			<type>pom</type>
			<scope>import</scope>
		</dependency>
	</dependencies>

</project>

2. 创建子模块

在创建子模块之前,需要再次强调一下,每个子模块都是一个独立、可编译、可测试、可打包、可部署的Maven项目,与其他模块相互独立。这里我们以两个子模块为例,分别命名为child1和child2。在子模块中,我们需要维护自己的业务逻辑和依赖,而且需要关注父模块是否继承父模块相应的依赖。

子模块1:child1

在child1的目录下创建一个Maven项目,名字为child1,并在pom.xml中添加如下代码:

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

    <parent>
        <groupId>org.example</groupId>
        <artifactId>parent</artifactId>
        <version>1.0-SNAPSHOT</version>
    </parent>

    <groupId>org.example</groupId>
    <artifactId>child1</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>jar</packaging>

	<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
			</plugin>
		</plugins>
	</build>

	<dependencies>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>
	</dependencies>

</project>

子模块2:child2

同理,在child2的目录下创建一个Maven项目,名字为child2,并在pom.xml中添加如下代码:

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

    <parent>
        <groupId>org.example</groupId>
        <artifactId>parent</artifactId>
        <version>1.0-SNAPSHOT</version>
    </parent>

    <groupId>org.example</groupId>
    <artifactId>child2</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>jar</packaging>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jdbc</artifactId>
        </dependency>
        <dependency>
            <groupId>com.oracle.database.jdbc</groupId>
            <artifactId>ojdbc10</artifactId>
            <version>19.3.0.0</version>
        </dependency>
    </dependencies>

</project>

三、集成子模块

在创建完父模块和子模块后,下一步就是要将所有模块集成起来。在父模块的pom.xml中添加子模块,关键代码如下:

<modules>
    <module>child1</module>
    <module>child2</module>
</modules>

完成后你将会看到一个与父项目名称相同的顶级文件夹,该文件夹名就是顶级父项目的名称,这个文件夹存储着所有子模块。在此文件夹中打开命令提示符或终端,输入以下命令:

mvn clean install

完整代码请参见:https://github.com/xiaomuworld/springboot-multimodule-demo

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/279181.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2024-12-20 15:03
下一篇 2024-12-20 15:03

相关推荐

  • 掌握magic-api item.import,为你的项目注入灵魂

    你是否曾经想要导入一个模块,但却不知道如何实现?又或者,你是否在使用magic-api时遇到了无法导入的问题?那么,你来到了正确的地方。在本文中,我们将详细阐述magic-api的…

    编程 2025-04-29
  • 从ga角度解读springboot

    springboot作为目前广受欢迎的Java开发框架,其中的ga机制在整个开发过程中起着至关重要的作用。 一、ga是什么 ga即Group Artifacts的缩写,它是Mave…

    编程 2025-04-29
  • 如何将Java项目分成Modules并使用Git进行版本控制

    本文将向您展示如何将Java项目分成模块,并使用Git对它们进行版本控制。分割Java项目可以使其更容易维护和拓展。Git版本控制还可以让您跟踪项目的发展并协作开发。 一、为什么要…

    编程 2025-04-28
  • GitHub好玩的开源项目

    本文旨在介绍GitHub上一些好玩的开源项目,并提供代码示例供读者参考和学习。 一、Emoji列表 GitHub上有一份完整的Emoji列表,它支持各种平台和设备,方便用户在Git…

    编程 2025-04-28
  • Django框架:从简介到项目实战

    本文将从Django的介绍,以及如何搭建Django环境开始,逐步深入到Django模型、视图、模板、表单,最后通过一个小型项目实战,进行综合性的应用,让读者获得更深入的学习。 一…

    编程 2025-04-28
  • IIS部署Python项目

    本文将从多个方面详细阐述在IIS上如何部署Python项目。包括安装IIS、安装Python、配置IIS、编写和部署Python代码等内容。 一、安装IIS和Python 在开始进…

    编程 2025-04-28
  • 如何使用TKE来开发Java项目

    本文将从多个方面详细阐述如何使用TKE(Theia IDE)来进行Java项目的开发。TKE是一个功能强大的在线集成开发环境,提供了大量的工具和插件,让开发者可以高效地进行Java…

    编程 2025-04-28
  • Spark开源项目-大数据处理的新星

    Spark是一款开源的大数据分布式计算框架,它能够高效地处理海量数据,并且具有快速、强大且易于使用的特点。本文将从以下几个方面阐述Spark的优点、特点及其相关使用技巧。 一、Sp…

    编程 2025-04-27
  • SpringBoot Get方式请求传参用法介绍

    本文将从以下多个方面对SpringBoot Get方式请求传参做详细的阐述,包括URL传参、路径传参、请求头传参、请求体传参等,帮助读者更加深入地了解Get请求方式下传参的相关知识…

    编程 2025-04-27
  • 如何解决IDEA创建SpringBoot项目无法连接Spring.io中心

    该问题可能是由于IDEA设置的代理问题,缺乏必要的插件和配置,或网络原因引起的。 一、代理设置 1、在IDEA中进入File->Settings->Appearance…

    编程 2025-04-27

发表回复

登录后才能评论