创建springboot的多模块项目

使用IDEA新建一个maven管理springboot的项目(因为使用的社区版,所以下载了alibaba的插件辅助创建~)

 注意修改packge,用插件的话底下的packge是不会变的一直都是(被坑了)

 顶级父项目创建成功!顶层项目,它不用操心具体的业务逻辑,只用完成一个任务:管理子模块和定义 Maven 依赖项的版本。现在删除所有文件除了pom文件,并对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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.4.1</version>
    </parent>

    <groupId>com.geekbang</groupId>
    <artifactId>coupon</artifactId>
    <packaging>pom</packaging>
    <version>1.0-SNAPSHOT</version>
    <properties>
        <maven.compiler.source>8</maven.compiler.source>
        <maven.compiler.target>8</maven.compiler.target>
    </properties>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>jakarta.validation</groupId>
                <artifactId>jakarta.validation-api</artifactId>
                <version>2.0.2</version>
            </dependency>

            <dependency>
                <groupId>com.google.guava</groupId>
                <artifactId>guava</artifactId>
                <version>16.0</version>
            </dependency>
        </dependencies>
    </dependencyManagement>


</project>

 

在 pom 文件里有以下三个重点标签。

< parent > 标签

在 parent 标签中我们指定了项目的“父级依赖”为 spring-boot-starter-parent,这样一来,spring-boot-starter-parent 里定义的 Spring Boot 组件版本信息就会被自动带到子模块中。这种做法也是大多数 Spring Boot 项目的通用做法,不仅降低了依赖项管理的成本,也不需要担心各个组件间的兼容性问题。

< packaging > 标签

maven 的打包类型有三种:jar、war 和 pom。当我们指定 packaging 类型为 pom 时,意味着当前模块是一个“boss”,它只用关注顶层战略,即定义依赖项版本和整合子模块,不包含具体的业务实现。

< dependencymanagement > 标签

这个标签的作用和 < parent > 标签类似,两者都是将版本信息向下传递。dependencymanagement 是 boss 们定义顶层战略的地方,我们可以在这里定义各个依赖项的版本,当子项目需要引入这些依赖项的时候,只用指定 groupId 和 artifactId 即可,不用管 version 里该写哪个版本。完成了 geekbang-coupon 依赖项的编写,接下来我们看看 coupon-template-serv 依赖项的编写。 

创建父项目下的子项目,点击file->new->module  

按照创建父项目一样,包名记得修改不要有相同的!

创建完成后如果pom文件不是蓝色的是橘色可以右键点击pom文件,然后选择add as a maven project就可以了,完成后的项目结构如图:

现在需要配置顶级项目pom文件和子项目pom文件

顶级项目pom文件需要添加子项目

<modules>
        <module>coupon-api</module>
</modules>

子项目pom文件需要添加< parent > 标签

<parent>
    <artifactId>coupon</artifactId>
    <groupId>com.geekbang</groupId>
    <version>1.0-SNAPSHOT</version>
    <relativePath>../pom.xml</relativePath>
  </parent>

再创建一个子项目,同上,如果想在第二个子项目调用第一个子项目的服务,可以在第二个子项目的pom文件里的<dependencies> 标签 添加依赖

<dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>coupon-api</artifactId>
            <version>${project.version}</version>
        </dependency>

    简单的demo完成!!!!!!!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值