玩转 Springboot 2 | 不使用 parent 方式创建SpringBoot项目篇

专题系列分类:玩转SpringBoot2.x系列教程

我们创建SpringBoot项目都是通过如下图的方式配置进行创建:
玩转 Springboot 2 | 不使用 parent 方式创建SpringBoot项目篇_第1张图片

我们在实际工作项目中不是每个人都喜欢从spring-boot-starter-parent POM 继承。我们有时候想通过继承的方式来声明所有maven 配置。Spring 为我们提供了具体的解决方案,具体操作方式如下:
玩转 Springboot 2 | 不使用 parent 方式创建SpringBoot项目篇_第2张图片
我们做一个简单线上商店项目的案例来进行演示:
首先创建一个父maven pom项目 引入上面图片中配置内容:
玩转 Springboot 2 | 不使用 parent 方式创建SpringBoot项目篇_第3张图片
创建成功后具体配置如下:

<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.0modelVersion>
  <groupId>cn.zhuoqianmingyuegroupId>
  <artifactId>shopartifactId>
  <version>0.0.1-SNAPSHOTversion>
  <packaging>pompackaging>
   <dependencyManagement>
		<dependencies>
            <dependency>
				<groupId>org.springframework.bootgroupId>
				<artifactId>spring-boot-dependenciesartifactId>
				<version>1.4.7.RELEASEversion>
				<type>pomtype>
				<scope>importscope>
			dependency>
		dependencies>
	dependencyManagement>
		<build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.pluginsgroupId>
                <artifactId>maven-compiler-pluginartifactId>
                <version>3.1version>
                <configuration>
                    <source>1.8source>
                    <target>1.8target>
                configuration>
            plugin>
         plugins>
         build>
project>

一般商店项目肯定涉及到订单服务我们先创建一个SpringBoot 项目然后在对其进行改造。创建好订单服务项目模块具体配置如下:


<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.0modelVersion>
	<parent>
		<groupId>org.springframework.bootgroupId>
		<artifactId>spring-boot-starter-parentartifactId>
		<version>2.1.3.RELEASEversion>
		<relativePath/> 
	parent>
	<groupId>cn.zhuoqianmingyuegroupId>
	<artifactId>orderartifactId>
	<version>0.0.1-SNAPSHOTversion>
	<name>ordername>
	<description>Demo project for Spring Bootdescription>

	<properties>
		<java.version>1.8java.version>
	properties>

	<dependencies>
		<dependency>
			<groupId>org.springframework.bootgroupId>
			<artifactId>spring-boot-starter-webartifactId>
		dependency>

		<dependency>
			<groupId>org.springframework.bootgroupId>
			<artifactId>spring-boot-starter-testartifactId>
			<scope>testscope>
		dependency>
	dependencies>

	<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.bootgroupId>
				<artifactId>spring-boot-maven-pluginartifactId>
			plugin>
		plugins>
	build>

project>

我们现在只需将创建好订单服务SpringBoot项目 中的parent 改成我们的shop 项目坐标即可。
具体操作如下图所示:
玩转 Springboot 2 | 不使用 parent 方式创建SpringBoot项目篇_第4张图片
将上图中的内容配置成如下图所示:玩转 Springboot 2 | 不使用 parent 方式创建SpringBoot项目篇_第5张图片

由于我们的shop项目order项目同级所以relativePath 配置是…/pom.xml
shop项目和order项目路径图如下:
玩转 Springboot 2 | 不使用 parent 方式创建SpringBoot项目篇_第6张图片

我们添加 commons-lang3 依赖进行测试一下:
首先在我们的父shop 项目添加 commons-lang3 依赖
玩转 Springboot 2 | 不使用 parent 方式创建SpringBoot项目篇_第7张图片
在我们的订单服务项目 引入 commons-lang3 依赖,这里就不用在指定version了。具体配置如下图所示:玩转 Springboot 2 | 不使用 parent 方式创建SpringBoot项目篇_第8张图片
查看我们订单服务项目已经包含了commons-long3 的依赖了。
玩转 Springboot 2 | 不使用 parent 方式创建SpringBoot项目篇_第9张图片
然后在启动我们的order项目测试一下,个人测试可以启动成功!启动日志如下图所示:
玩转 Springboot 2 | 不使用 parent 方式创建SpringBoot项目篇_第10张图片

你可能感兴趣的:(【SpringBoot】)