服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|JavaScript|易语言|

服务器之家 - 编程语言 - JAVA教程 - spring boot的maven配置依赖详解

spring boot的maven配置依赖详解

2021-01-30 12:17帅帅的波 JAVA教程

本篇文章主要介绍了spring boot的maven配置依赖详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

本文介绍了spring bootmaven配置依赖详解,分享给大家,具体如下:

我们通过引用spring-boot-starter-parent,添加spring-boot-starter-web

spring boot的maven配置依赖详解

可以实现web项目的功能,当然不使用spring-boot-start-web,通过自己添加的依赖包也可以实现,但是需要一个个添加,费时费力,而且可能产生版本依赖冲突。我们来看下springboot的依赖配置:

spring boot的maven配置依赖详解

利用pom的继承,一处声明,处处使用。在最顶级的spring-boot-dependencies中,使用dependencymanagement让所有子项目引用一个依赖而不用显式的列出版本号,将结构信息,部署信息,共同的依赖信息放置在统一的位置。dependencymanagement只声明依赖,并不真正引入,因此子项目需要通过dependencies引入相关依赖。

1)spring-boot-dependencies组成:

第三方依赖的版本号

spring boot的maven配置依赖详解

插件的版本号

spring boot的maven配置依赖详解

springboot的依赖包,固定版本的parent依赖固定版本包,如果升级只需修改parent的版本号,即可统一更换依赖。

spring boot的maven配置依赖详解\

第三方依赖,解决了第三方依赖版本不兼容的冲突,使用第三方依赖更加便捷

spring boot的maven配置依赖详解

插件

spring boot的maven配置依赖详解

2)spring-boot-parent组成:

添加额外的依赖,用户会使用的第三方依赖,但是spring-boot-dependencies中没有依赖

spring boot的maven配置依赖详解

测试相关的依赖

spring boot的maven配置依赖详解

以及其他插件及profile配置

3)spring-boot-starter-parent组成:

spring boot的maven配置依赖详解

父级spring-boot-dependencies无需多说

spring boot的maven配置依赖详解

依赖spring-core

spring boot的maven配置依赖详解

在src/main/resources目录下,仅application.yml和application.properties是资源文件并需要进行过滤;在src/main/resources下除application.yml和application.properties外也是资源文件,但不需要过滤。过滤会将文件中${...}替换为系统属性或者项目属性值。

4)sprint-boot-starter-*

可以通过parent来统一管理,这也就是springboot的四大神器之一的starter所带来的便捷。根据不同的功能,添加不同的starter即可。在springboot源码包中我们可以看到spring-boot-starters中有50多个starter

spring boot的maven配置依赖详解

图中根目录pom.xml为spring-boot-starters,使用maven的聚合模块,其他starter作为聚合模块的子目录存在,目的是一次构建多个项目模块,如下图:
通过models来管理所有的starter,可以一次性构建所有starter:

spring boot的maven配置依赖详解

使用assembly插件,将一组文件、目录、依赖元素组装成一个归档文件,如下图:

spring boot的maven配置依赖详解

使用该插件,executions执行器会执行mvn assembly:assembly,只运行一次,描述文件的路径为src/main/assembly/starter-poms-assembly.xml,我们来看下描述文件:

spring boot的maven配置依赖详解

打包的文件格式为zip,模块文件为**/pom.xml,该插件执行完效果如下:

会在src同级目录下生成target文件夹并在其下生成:

spring boot的maven配置依赖详解

zip文件中所有子starter文件的依赖

spring boot的maven配置依赖详解

在源码根目录中与spring-boot-starters同级的目录中,spring-boot-deployment-tests,spring-boot-integration-tests,spring-boot-samples都使用了pom的聚合模块功能。包括spring-boot-1.5.1.release整个项目也是使用聚合模块功能。可以使用mvnw对项目进行统一构建。

结:

spring-boot的maven配置大概如上所述,使用到了

a.pom继承:一处声明,处处使用
b.pom聚合:一次构建多个项目模块
c.其他插件,各种配置

能让我们在对spring-boot实现有认识的同时,加深对maven配置的理解。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。

原文链接:https://segmentfault.com/a/1190000010757682

延伸 · 阅读

精彩推荐
  • JAVA教程Java中的命名与目录接口JNDI基本操作方法概览

    Java中的命名与目录接口JNDI基本操作方法概览

    这篇文章主要介绍了Java中的命名与目录接口JNDI基本操作方法概览,JNDI提供统一的客户端API使得Java应用程序可以和这些命名服务和目录服务之间进行交互,需...

    kyfxbl2812020-04-14
  • JAVA教程Android中几种图片特效的处理的实现方法

    Android中几种图片特效的处理的实现方法

    这篇文章主要介绍了 Android中几种图片特效的处理的实现方法的相关资料,这里有放大缩小图片,获得圆角图片,获得带倒影图片的几种方法,需要的朋友可...

    Android教程网2082020-12-11
  • JAVA教程Java访问Hadoop分布式文件系统HDFS的配置说明

    Java访问Hadoop分布式文件系统HDFS的配置说明

    Hadoop的能提供高吞吐量的数据访问,是集群式服务器的上的数据操作利器,这里就来为大家分享Java访问Hadoop分布式文件系统HDFS的配置说明: ...

    zhangzhaokun2132020-05-09
  • JAVA教程spring boot的maven配置依赖详解

    spring boot的maven配置依赖详解

    本篇文章主要介绍了spring boot的maven配置依赖详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧...

    帅帅的波8032021-01-30
  • JAVA教程java实现哈夫曼压缩的实例

    java实现哈夫曼压缩的实例

    这篇文章主要介绍了java实现哈夫曼压缩的实例的相关资料,需要的朋友可以参考下...

    iteye1892020-11-28
  • JAVA教程spring声明式事务管理解析

    spring声明式事务管理解析

    这篇文章主要为大家详细介绍了spring声明式事务管理,对spring事务管理进行深入了解,感兴趣的小伙伴们可以参考一下...

    程序_小咖4702020-06-27
  • JAVA教程SpringMVC和Swagger整合方法

    SpringMVC和Swagger整合方法

    Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。下面通过本文给大家分享SpringMVC和Swagger整合方法,感兴趣的朋友...

    pinkylam4182020-12-12
  • JAVA教程5个主流的Java开源IDE工具详解

    5个主流的Java开源IDE工具详解

    这篇文章主要介绍了5个主流的Java开源IDE工具,无论如何,Java在当今使用的编程语言中始终排在前三名,在TIOBE索引中涉及700万到1000万的程序员和开发者...

    云智时代2152020-07-29