学习笔记 使用IDEA搭建 SpringBoot分布式项目框架

学习笔记 使用IDEA搭建 SpringBoot分布式项目框架

  • 创建新项目

在这里插入图片描述

  • 选择Maven,下一步
    在这里插入图片描述

  • 填写信息,创建
    在这里插入图片描述

  • 当前创建的是父级Module,可以删掉src目录,添加打包指引(父模块打包类型必须为pom)

<packaging>pom</packaging> 

在这里插入图片描述

  • 在父模块下建立子模块
    在这里插入图片描述
  • 这里我们以SpringBoot为例,创建SpringBoot项目子模块
    在这里插入图片描述
  • 我们创建一个API模块,填写信息,完成创建
    在这里插入图片描述
  • 选择依赖,下一步后完成创建
    在这里插入图片描述
  • 此步重点(实例见下图)
  • 父模块引入子模块
  • 子模块声明父模块信息
  • 全局信息只需在父pom中声明
  • 在创建该SpringBoot子项目后,直接把子pom的parent标签内容拿到父pom中

我们开始创建的父pom是空的maven项目,而子pom继承于SpringBoot框架,这样就是让我们创建的父项目继承SpringBoot框架,再让子pom继承父pom,这样等同于间接性的告诉子项目:你的最上级是SpringBoot,只是多了一级管理

建立更多模块同理
在这里插入图片描述

  • 如果我们要在一个模块中使用另一个模块
    在这里插入图片描述
  • 这样,一个入门级的SpringBoot分布式项目框架就搭建成功了

pom代码实例

父POM cloud-dev

<?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">
    <modelVersion>4.0.0</modelVersion>

    <packaging>pom</packaging> <!--父模块打包类型必须为pom-->

    <groupId>com.cloud</groupId>
    <artifactId>cloud-dev</artifactId>
    <version>1.0-SNAPSHOT</version>

    <!--父工程引入子模块-->
    <modules>
        <module>cloud-api</module>
        <module>cloud-tool</module>
    </modules>

    <!-- parent指明继承关系,给出被继承的父项目的具体信息-->
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.3.1.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>

   <!-- 全局信息-->
    <properties>
        <java.version>1.8</java.version>
    </properties>

    <!--子模块都包含的包可以在父pom中统一管理-->
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
            <exclusions>
                <exclusion>
                    <groupId>org.junit.vintage</groupId>
                    <artifactId>junit-vintage-engine</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>
        <!--Redis-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-redis</artifactId>
        </dependency>
    </dependencies>
</project>

子模块cloud-api

<?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>

	<!--继承于父工程cloud-dev-->
	<parent>
        <groupId>com.cloud</groupId>
        <artifactId>cloud-dev</artifactId>
        <version>1.0-SNAPSHOT</version>
	</parent>

	<groupId>com.cloud.api</groupId>
	<artifactId>cloud-api</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<name>cloud-api</name>
	<description>Demo project for Spring Boot</description>

	<!--此处放置该只有该模块有的信息-->
	<properties>

	</properties>

	<!--此处放置该只有该模块有的依赖-->
	<dependencies>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>
		<!--要在api模块使用tool模块-->
		<dependency>
			<groupId>com.cloud.tool</groupId>
			<artifactId>cloud-tool</artifactId>
			<version>0.0.1-SNAPSHOT</version>
		</dependency>
	</dependencies>

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

猜你喜欢

转载自blog.csdn.net/SR02020/article/details/106783975