接触SpringBoot时间不是很久,自己稍微整理一下,怎么简单搭建多模块的SpringBoot项目
因为我使用的开发工具为IDEA,所以下面的截图操作都在IDEA中完成。
1、创建父模块
File -》new -》project
填写项目相关信息
选择类型和版本(用户可根据实际请款选择具体相应类目)
最后填写项目名称和存放地址,完成创建
如下是完成后的项目结构(下载jar,稍微有点长,请耐心等待)
因为是父模块和具体业务没有关系,所以可以只留下pom.xml 和.gitignore文件,其他文件都可以删除。
父模块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.1.3.RELEASE</version>
<relativePath/>
</parent>
<groupId>com.example</groupId>
<artifactId>springbootdemo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>pom</packaging> <!--改为pom-->
<name>springbootdemo</name>
<description>Demo project for Spring Boot</description>
<modules>
<!--子模块-->
</modules>
<properties>
<java.version>1.8</java.version>
<commons-io.version>2.4</commons-io.version>
</properties>
<dependencyManagement> <!-- 使用dependencyManagement 进行管理,申明作用,不会真实下载jar,方便子模块对jar版本的管理,统一在 <properties>中维护-->
<dependencies>
<!--可删除 parent已有继承-->
<!--<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>-->
<!-- 所需的jar-->
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>${commons-io.version}</version>
</dependency>
</dependencies>
</dependencyManagement>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
2、创建子模块
在该项目上进行子模块创建
new -》module
后面几步操作和创建父模块一致
结果展示如下
一般(.mvn,mvnw,mvnw.cmd,HELP.md 文件可以删除),其他的目录结构就和以前的一样
SondemoApplication.java 为项目入口文件,一些常规用到的注解都在这里,比如
定时任务,整合Swagger等
application.properties为配置文件(也可把后缀改为.yml)
里面配置相关的参数(端口,服务地址,应用名称等等)
子模块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>com.example</groupId>
<artifactId>springbootdemo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.example</groupId>
<artifactId>sondemo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>sondemo</name>
<description>Demo project for Spring Boot</description>
<!--去除再父模块中定义-->
<!--<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>
<!-- 子模块中添加另外的jar 可不用加版本号,因为父模块中的pom已经定义 如下列子
如果该模块需要使用另外的版本,则直接指定版本号,这样就不会继承父类中的版本号-->
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
到这里简单的多模块SpringBoot项目就建好了
个人小白,请多多指教。