SpringBoot父子工程模块化开发之路
文章目录
00、准备工作
开发工具:idea / spring tool suit
jdk环境:jdk1.8+
maven的:3.5+
01、搭建的过程
- 创建一个父工程
- 创建子工程(模块化工程)
02、创建一个父工程
父工程作用:统一管理所以的子工程,以及相关版本统一管理和依赖,可以统一编译。
02-01、创建一个maven工程
02-02、创建一个maven工程
02-03、创建成功如下:
父工程的注意事项:
1、删除src目录
2、把pom.xml中的的packaging修改成pom
增加标签
<packaging>pom</packaging>
03、把springboot交给父工程来管理
将子工程中的内容复制到父工程中
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.4.7</version> <relativePath/> </parent>
在父的pom.xml把springboot交给工程统一管理,如下:
<?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.7</version>
<relativePath/>
</parent>
<groupId>com.kuangstudy</groupId>
<artifactId>kuangstudy-boots</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>pom</packaging>
<properties>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
</properties>
</project>
04、建设的子模块和父工程进行依赖和管理
04-01、给父工程创建子模块
04-02、将子工程交给父工程管理。
也就是说在要父工程的pom.xml去建设子工程管理,也就所谓的:模块注册
在子工程中的pom.xml中,它的parent去关联父工程的骨架即可,如下:
子工程中的标签关联父工程pom
<!--来自父工程pom--> <parent> <groupId>com.kuangstudy</groupId> <artifactId>kuangstudy-boots</artifactId> <version>1.0-SNAPSHOT</version> </parent>
<?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>
<!--来自父工程pom-->
<parent>
<groupId>com.kuangstudy</groupId>
<artifactId>kuangstudy-boots</artifactId>
<version>1.0-SNAPSHOT</version>
</parent>
<groupId>com.kuangstudy</groupId>
<artifactId>kuangstudy-boots-exception</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>kuangstudy-boots-exception</name>
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
05、父子模块的好处
1、集中管理
2、统一编译和打包
总结
SpringBoot 父子工程模块化管理
父工程中
- 修改 为 pom
- 修改 为 SpringBoot
- 依赖子工程模块
子工程中
- 修改为父工程中的 pom
子工程中依赖其他子工程
整体工程