1.开发工具及系统环境
IDE | |
系统环境 | Windows7 |
2.环境版本
SpringBoot | 2.0.1.RELEASE |
Java | 1.8 |
3.模块说明
4.搭建过程
[1] 创建父工程
1.1)File ----> New ----> Project...
1.2) 填写GroupID,ArtifactID
1.3)选择SpringBoot版本,以及Lombok等公共jar包
1.4)点击完成
1.5) 之后,项目结构如下图
1.6) 删除其他项目,只保留图片中红色框中部分,以及.gitignore文件,最终项目结构
1.7)父项目的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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<!-- 父项目的版本信息 -->
<groupId>com.powerlong</groupId>
<artifactId>xpoject</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>pom</packaging>
<name>xpoject</name>
<description>xpoject-web project for Spring Boot</description>
<!-- 继承说明,这里继承SpringBoot提供的工程 -->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.1.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<!-- 声明子模块 -->
<modules>
<module>xproject-common</module>
<module>xproject-domain</module>
<module>xproject-dao</module>
<module>xproject-service</module>
<module>xproject-web</module>
</modules>
<properties>
<!--定义项目打包时的各个模块的版本-->
<xproject.version>0.0.1-SNAPSHOT</xproject.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
<hutool.version>4.4.2</hutool.version>
<spring.boot.configuration.processor.version>2.0.1.RELEASE</spring.boot.configuration.processor.version>
</properties>
<!--
特殊模块独有的jar,这里面的jar包不能通过spring-boot自动加载
需要加入版本号,然后在子模块中引入即可
-->
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<version>${spring.boot.configuration.processor.version}</version>
</dependency>
</dependencies>
</dependencyManagement>
<!-- 各个模块共用的jar -->
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<!-- 热部署,要结合spring-boot-maven-plugin中的配置,才会生效 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<!-- Java工具集 -->
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>${hutool.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<fork>true</fork> <!-- 如果没有该配置,devtools不会生效 -->
</configuration>
</plugin>
</plugins>
</build>
<profiles>
</profiles>
<repositories>
</repositories>
<pluginRepositories>
</pluginRepositories>
</project>
[2] 创建子模块
2.1) 创建xproject-web,xproject-domain,xproject-service,xproject-dao,xproject-common模块
2.2) 修改各个子模块的pom文件后
web子模块的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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.powerlong</groupId>
<artifactId>xproject-web</artifactId>
<version>${xproject.version}</version>
<packaging>war</packaging>
<name>xproject-web</name>
<description>xproject-web project for Spring Boot</description>
<parent>
<groupId>com.powerlong</groupId>
<artifactId>xpoject</artifactId>
<version>0.0.1-SNAPSHOT</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- 引入web子模块需要的特殊jar包 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
</dependency>
<dependency>
<groupId>com.powerlong</groupId>
<artifactId>xproject-service</artifactId>
<version>${xproject.version}</version>
</dependency>
</dependencies>
</project>
service子模块的pom文件,domain,common,dao模块基本一样
<?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>
<groupId>com.powerlong</groupId>
<artifactId>xproject-service</artifactId>
<version>${xproject.version}</version>
<packaging>jar</packaging>
<name>xproject-service</name>
<description>xproject-service project for Spring Boot</description>
<parent>
<groupId>com.powerlong</groupId>
<artifactId>xpoject</artifactId>
<version>0.0.1-SNAPSHOT</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<dependencies>
<dependency>
<groupId>com.powerlong</groupId>
<artifactId>xproject-dao</artifactId>
<version>${xproject.version}</version>
</dependency>
</dependencies>
</project>