SpringBoot+Maven搭建分模块项目

目录

简介

项目需求

实现步骤

1. 新建 springboot-parent 父级项目,项目结构如图

2. 在 pom 文件添加如下配置 

3. 在父级项目 springboot-parent 右键新建 Maven module 选项,创建子模块 springboot-service,项目结构如图

 4. 在 pom.xml 配置文件中添加如下配置

5. 在父级项目 springboot-parent 右键新建 Maven module 选项,创建子模块 springboot-controller,项目结构如图

 6. 在 pom,xml 配置文件中添加如下配置

7. 分别在 springboot-service,springboot-controller 添加对应方法

总结


简介

前面介绍的项目都是一个整体的 SpringBoot 项目,在实际的开发过程中,特别是微服务部分,经常需要将各个功能模块分开,使用 Maven 就能很好的实现这个效果

项目需求

搭建一个 springboot-parent 父级项目,搭建 springboot-controller,springboot-service 分模块

依赖关系

                       ↗ springboot-controller(子)
springboot-parent(父)                ↓
                       ↘ springboot-service(子)

实现步骤

1. 新建 springboot-parent 父级项目,项目结构如图

2. 在 pom 文件添加如下配置 

<groupId>com.ibm.spring</groupId>
<artifactId>springboot-parent</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>pom</packaging>
<name>springboot-parent</name>
<url>http://maven.apache.org</url>
<!-- 添加spring boot的父节点依赖 -->
<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.0.6.RELEASE</version>
    <relativePath/>
</parent>
<properties>
    <!-- 项目源码编码 -->
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <!-- 项目构建编码 -->
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    <!-- 指定JDK版本 -->
    <java.version>1.8</java.version>
    <!- 子模块 Controller 版本-->
    <module.controller.version>0.0.1-SNAPSHOT</module.controller.version>
    <!- 子模块 Service 版本-->
    <module.service.version>0.0.1-SNAPSHOT</module.service.version>
</properties>
<modules>
    <!-- 子模块 server -->
    <module>springboot-controller</module>
    <module>springboot-service</module>
</modules>
<dependencies>
    <!-- 添加 springboot web 依赖 -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
</dependencies>
<dependencyManagement>
    <dependencies>
        <!- 子模块 Controller 依赖-->
        <dependency>
            <groupId>com.ibm.springboot</groupId>
            <artifactId>springboot-controller</artifactId>
            <version>${module.controller.version}</version>
        </dependency>
        <!- 子模块 Service 依赖-->
        <dependency>
            <groupId>com.ibm.springboot</groupId>
            <artifactId>springboot-service</artifactId>
            <version>${module.service.version}</version>
        </dependency>
    </dependencies>
</dependencyManagement>
<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>

注意:

(1) 对于父级项目,packaging 应设置成 pom 格式,否则无法添加子模块

(2) 上面配置中加粗部分实际上应该是后面两个子模块创建完毕后根据子模块信息添加

3. 在父级项目 springboot-parent 右键新建 Maven module 选项,创建子模块 springboot-service,项目结构如图

 4. 在 pom.xml 配置文件中添加如下配置

<parent>
    <groupId>com.ibm.spring</groupId>
    <artifactId>springboot-parent</artifactId>
    <version>0.0.1-SNAPSHOT</version>
</parent>
<groupId>com.ibm.springboot</groupId>
<artifactId>springboot-service</artifactId>
<packaging>jar</packaging>
<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
    <!-- 引入其他依赖 -->
</dependencies>

5. 在父级项目 springboot-parent 右键新建 Maven module 选项,创建子模块 springboot-controller,项目结构如图

 6. 在 pom,xml 配置文件中添加如下配置

<parent>
    <groupId>com.ibm.spring</groupId>
    <artifactId>springboot-parent</artifactId>
    <version>0.0.1-SNAPSHOT</version>
</parent>
<artifactId>springboot-controller</artifactId>
<name>springboot-controller</name>
<packaging>jar</packaging>
<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
    <!-- 添加 service 模块依赖 -->
    <dependency>
        <groupId>com.ibm.springboot</groupId>
        <artifactId>springboot-service</artifactId>
    </dependency>
</dependencies>

注意:Controller 模块需调用 Service 模块,所以在 springboot-controller 子模块中要添加 springboot-service 依赖

7. 分别在 springboot-service,springboot-controller 添加对应方法

springboot-service

@Service
public class TestService {
    public String getMessage() {
	return "test message";
    }
}

springboot-controller

@RestController
@RequestMapping("/test")
public class TestController {
    @Resource
    private TestService testService;
	
    @GetMapping("/msg")
    public String getMessageFromService() {
	    return testService.getMessage();
    }
}

总结

1. 父级项目添加子模块的配置有两处,分别在 <modules> 和 <dependencyManagement> 下,子模块的信息一定要填写准确

2. 由于 Controller 模块还作为启动模块,特别要主要各个模块之间的包名的关系

如果 Controller 模块的启动类 App.class 所在的包和 Service 层所在的包名不匹配,则需要在启动类上添加 @ComponentScan 或 @ComponentScans 注解添加要扫描的包的路径;最佳实践:Controller 层的启动包名应是其他被调用子模块包名的父级关系(包含关系)。 

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 可以使用Maven的assembly插件来创建一个包含Spring Boot作为子模块Maven项目。具体的步骤如下:1.创建一个根pom.xml文件,用于配置Maven项目;2.创建一个Spring Boot项目作为子模块,用于实现业务逻辑;3.添加assembly插件到根pom.xml文件中,用于构建项目;4.运行Maven构建命令,即可完成项目的构建。 ### 回答2: 创建有Spring Boot作为子模块Maven项目需要以下步骤: 1. 创建一个空的Maven项目作为父项目,并在pom.xml文件中添加父级项目的坐标和版本号。 2. 在父项目的pom.xml文件中添加一个新的模块(子项目)的定义。例如: ```xml <modules> <module>子项目名称</module> </modules> ``` 3. 在父项目的根目录下创建一个新的文件夹,作为子项目的根目录。 4. 进入子项目的根目录,并在该目录下创建一个新的Maven模块。可以使用以下命令: ```shell mvn archetype:generate -DgroupId=子项目的GroupId -DartifactId=子项目的ArtifactId -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false ``` 5. 进入子项目的根目录,并编辑子项目的pom.xml文件。在该文件中添加Spring Boot的依赖和配置。例如: ```xml <parent> <groupId>父项目的GroupId</groupId> <artifactId>父项目的ArtifactId</artifactId> <version>父项目的版本号</version> </parent> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> </dependency> </dependencies> ``` 6. 在子项目的根目录下创建一个主要的Java类,作为Spring Boot应用程序的入口点。可以使用以下注释来标注该类: ```java @SpringBootApplication public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } } ``` 7. 在子项目的根目录下创建一个application.properties(或者application.yml)文件,并添加所需的配置属性。 至此,已经创建了一个有Spring Boot作为子模块Maven项目。通过在父项目的pom.xml文件中添加更多子项目定义,可以创建更多的子模块。最后,可以使用mvn命令构建整个项目,包括所有的子模块。 ### 回答3: 要创建一个Maven项目,其中包含Spring Boot作为子模块,可以按照以下步骤操作: 1. 首先,在你的工作目录中创建一个新的文件夹,作为你的父项目。在该文件夹下创建一个pom.xml文件,这将是你整个项目的根pom文件。 2. 在根pom.xml文件中,添加Maven的父依赖项,用于管理子模块的构建和依赖版本。例如: ``` <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.4.5</version> <relativePath/> <!-- lookup parent from repository --> </parent> ``` 3. 接下来,在父pom.xml的<modules>部下,添加一个<module>元素,用于声明你的Spring Boot模块。例如: ``` <modules> <module>my-springboot-module</module> </modules> ``` 4. 在父pom.xml文件中,添加Spring Boot starter依赖项。例如,如果你打算创建一个Web应用程序,可以添加以下依赖项: ``` <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> </dependencies> ``` 5. 接下来,在你的工作目录中,创建你的Spring Boot模块的文件夹(在上述示例中为my-springboot-module)。在该文件夹下创建一个pom.xml文件,这将是你的子模块的pom文件。 6. 在子模块的pom.xml文件中,添加以下父依赖项,以继承父模块的配置: ``` <parent> <groupId>父模块的groupId</groupId> <artifactId>父模块的artifactId</artifactId> <version>父模块的版本</version> </parent> ``` 7. 根据你的需求,在子模块的pom.xml文件中添加其他依赖项。 8. 最后,在子模块的pom.xml文件中,添加你的Spring Boot应用程序的配置和代码。 完成以上步骤后,就创建了一个包含Spring Boot作为子模块Maven项目。你可以运行父模块或子模块来构建和运行你的Spring Boot应用程序。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值