maven聚合项目

 在一个maven聚合项目中,可以分为common.jar、pojo.jar、mapper.jar、service.jar、controller.jar、api.jar,将这些模块全部放在一个pom中。

spring boot 强化大分离项目 springboot分层开发_ci

如图所示的一个maven聚合工程。

在idea中构建一个聚合工程步骤

spring boot 强化大分离项目 springboot分层开发_spring boot 强化大分离项目_02

创建project

在idea中点击上图所示按钮

spring boot 强化大分离项目 springboot分层开发_jar_03

在页面中选择maven,选择相应的jdk版本,然后点击next按钮,出现下图界面

spring boot 强化大分离项目 springboot分层开发_spring boot 强化大分离项目_04

在页面中填上相应的内容并点击next按钮,进入下一步操作,如下图所示

spring boot 强化大分离项目 springboot分层开发_ci_05

在界面的对应输入框中填入相应的信息,并点击finish按钮完成一个maven项目的创建

spring boot 强化大分离项目 springboot分层开发_spring_06

创建子工程的这个界面和创建maven项目的界面一样的,我们还是选择maven并选中相应的jdk版本,然后点击next按钮。

spring boot 强化大分离项目 springboot分层开发_spring_07

当按照图所示操作完成后,出现下面的窗口,填写相应的内容并点击按钮

spring boot 强化大分离项目 springboot分层开发_spring boot_08

依次完成后续操作:

spring boot 强化大分离项目 springboot分层开发_spring boot 强化大分离项目_09

当点击finish后,我们maven里面就会创建出子模块

spring boot 强化大分离项目 springboot分层开发_spring boot_10

然后我们以同样的方式生成pojo、mapper、service、api等子模块

在子模块与子模块之间,如果要相互使用资源,需要在子模块之间构建依赖,例如,pojo需要使用common中的资源,则在pojo的pom文件中,需要构建如下的依赖:

<dependencies>
    <dependency>
        <groupId>com.lqkj</groupId>
        <artifactId>frame-common</artifactId>
        <version>1.0-SNAPSHOT</version>
    </dependency>
</dependencies>

在mapper中需要依赖持久化操作,需要pojo中的持久化对象,需要在mapper的pom中,构建对pojo的依赖:

<dependencies>
    <dependency>
        <groupId>com.lqkj</groupId>
        <artifactId>frame-pojo</artifactId>
        <version>1.0-SNAPSHOT</version>
    </dependency>
</dependencies>

在service中需要依赖mapper,构建对mapper的依赖:

<dependencies>
    <dependency>
        <groupId>com.lqkj</groupId>
        <artifactId>frame-mapper</artifactId>
        <version>1.0-SNAPSHOT</version>
    </dependency>
</dependencies>

在api接口层,会调用service的方法,因此需要构建对api的依赖:

<dependencies>
    <dependency>
        <groupId>com.lqkj</groupId>
        <artifactId>frame-service</artifactId>
        <version>1.0-SNAPSHOT</version>
    </dependency>
</dependencies>

到此,我们整个的聚合工程就构建好了,构建完成之后,通过idea开发工具将各个子模块进行安装,如图所示

spring boot 强化大分离项目 springboot分层开发_spring_11

在主工程下面,找到install,点击,在控制台输出BUILD SUCCESS,表示我们的聚合工程安装成功。

聚合工程项目构建之后要运行起来,还需要将spring boot的依赖放入pom中,下面将介绍下搭建spring boot的步骤:

PS:1-3都是在顶级工程的pom文件中进行操作

1、引入依赖parent

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.6.7</version>
    <relativePath/> <!-- lookup parent from repository -->
</parent>

2、设置资源属性

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    <java.version>11</java.version>
</properties>

3、引入依赖dependency

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter</artifactId>
        <exclusions>
            <exclusion>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-logging</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-configuration-processor</artifactId>
    </dependency>
</dependencies>

4、在子工程api中的resources目录下,添加application.yml

spring boot 强化大分离项目 springboot分层开发_jar_12

在弹出框中输入application.yml文件名,点击保存

spring boot 强化大分离项目 springboot分层开发_spring boot 强化大分离项目_13

5、在api子工程中再创建一个包com.lqkj,创建完成如图所示

spring boot 强化大分离项目 springboot分层开发_spring boot_14

6、在新建的包下面创建一个Application.java文件,该文件内容

package com.lqkj;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;


@SpringBootApplication
public class Application {

    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}

现在整个的spring boot就已经搭建起来了,我们下面写一个测试类进行验证

还是在api子工程中新建一个controller包,再新建一个BaseController.java

package com.lqkj.controller;

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * @ClassName: BaseController
 * @Author: A
 * @Data: 2022年04月25日 01时11分
 * @Description:
 * @Company: 
 * @Version: 1.0
 */

@RestController
public class BaseController {

    @GetMapping("test")
    public String test(){
        return "欢迎,Spring Boot!!!";
    }
}

然后在右侧install一下,

spring boot 强化大分离项目 springboot分层开发_spring_15

在install完成后,运行Application.java,当控制台出现如下内容:

spring boot 强化大分离项目 springboot分层开发_jar_16

至此,我们的聚合工程搭建完毕!!!