文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

springboot中maven配置依赖的示例分析

2023-05-30 22:59

关注

这篇文章主要介绍springboot中maven配置依赖的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

具体如下:

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

springboot中maven配置依赖的示例分析

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

springboot中maven配置依赖的示例分析

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

1)spring-boot-dependencies组成:

第三方依赖的版本号

springboot中maven配置依赖的示例分析

插件的版本号

springboot中maven配置依赖的示例分析

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

springboot中maven配置依赖的示例分析\

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

springboot中maven配置依赖的示例分析

插件

springboot中maven配置依赖的示例分析

2)spring-boot-parent组成:

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

springboot中maven配置依赖的示例分析

测试相关的依赖

springboot中maven配置依赖的示例分析

以及其他插件及profile配置

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

springboot中maven配置依赖的示例分析

父级spring-boot-dependencies无需多说

springboot中maven配置依赖的示例分析

依赖spring-core

springboot中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

springboot中maven配置依赖的示例分析

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

springboot中maven配置依赖的示例分析

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

springboot中maven配置依赖的示例分析

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

springboot中maven配置依赖的示例分析

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

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

springboot中maven配置依赖的示例分析

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

springboot中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配置的理解。

以上是“springboot中maven配置依赖的示例分析”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注编程网行业资讯频道!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯