专题系列分类:玩转SpringBoot2.x系列教程
我们创建SpringBoot项目都是通过如下图的方式配置进行创建:
我们在实际工作项目中不是每个人都喜欢从spring-boot-starter-parent POM 继承。我们有时候想通过继承的方式来声明所有maven 配置。Spring 为我们提供了具体的解决方案,具体操作方式如下:
我们做一个简单线上商店项目的案例来进行演示:
首先创建一个父maven pom项目 引入上面图片中配置内容:
创建成功后具体配置如下:
<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>
<groupId>cn.zhuoqianmingyue</groupId>
<artifactId>shop</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>pom</packaging>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>1.4.7.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
</project>
一般商店项目肯定涉及到订单服务我们先创建一个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.1.3.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>cn.zhuoqianmingyue</groupId>
<artifactId>order</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>order</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>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
我们现在只需将创建好订单服务SpringBoot项目 中的parent 改成我们的shop 项目坐标即可。
具体操作如下图所示:
将上图中的内容配置成如下图所示:
由于我们的shop项目和order项目同级所以relativePath 配置是…/pom.xml
shop项目和order项目路径图如下:
我们添加 commons-lang3 依赖进行测试一下:
首先在我们的父shop 项目添加 commons-lang3 依赖
在我们的订单服务项目 引入 commons-lang3 依赖,这里就不用在指定version了。具体配置如下图所示:
查看我们订单服务项目已经包含了commons-long3 的依赖了。
然后在启动我们的order项目测试一下,个人测试可以启动成功!启动日志如下图所示: