maven聚合项目
在一个maven聚合项目中,可以分为common.jar、pojo.jar、mapper.jar、service.jar、controller.jar、api.jar,将这些模块全部放在一个pom中。
如图所示的一个maven聚合工程。
在idea中构建一个聚合工程步骤
创建project
在idea中点击上图所示按钮
在页面中选择maven,选择相应的jdk版本,然后点击next按钮,出现下图界面
在页面中填上相应的内容并点击next按钮,进入下一步操作,如下图所示
在界面的对应输入框中填入相应的信息,并点击finish按钮完成一个maven项目的创建
创建子工程的这个界面和创建maven项目的界面一样的,我们还是选择maven并选中相应的jdk版本,然后点击next按钮。
当按照图所示操作完成后,出现下面的窗口,填写相应的内容并点击按钮
依次完成后续操作:
当点击finish后,我们maven里面就会创建出子模块
然后我们以同样的方式生成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开发工具将各个子模块进行安装,如图所示
在主工程下面,找到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
在弹出框中输入application.yml文件名,点击保存
5、在api子工程中再创建一个包com.lqkj,创建完成如图所示
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一下,
在install完成后,运行Application.java,当控制台出现如下内容:
至此,我们的聚合工程搭建完毕!!!