SpringBoot 是由 Pivotal 团队提供的全新框架,其设计目的是用来 简化 Spring 应用的初始搭建以及开发过程。
Spring 程序缺点:依赖设置繁琐、配置繁琐
SpringBoot 程序优点:起步依赖(简化依赖配置)、自动配置(简化常用工程相关配置)、辅助功能(内置服务器…)
文章目录
- 一、一个小案例
- 二、SpringBoot 版本管理
- 补充:基于阿里云创建的项目,如何做版本管理?
一、一个小案例
下面通过以下例子,说明parent依赖管理的作用:
工程 A 与工程 B 所使用的依赖坐标都要使用下面的三个坐标,因此在各自的pom文件中都要做如下引用:
因此,可以将坐标抽取出来,放到一个单独的 pom 文件中,工程 A 和工程 B 在各自的文件中引用该 pom 文件:
但是以上的方式还可以再继续做优化,就是将 pom 版本与坐标做集中管理。左边 pom 文件将版本信息集中起来管理,配置成 maven 的属性。右边 pom 文件做坐标集中管理,引用左边的 maven 属性。具体情况如下:
左边的版本信息可以再继续扩展,将所有能够用到的版本信息都配置在左侧 pom 文件:
好处:日后不用担心坐标冲突的事情,springboot 做了大的版本统一,确保当前版本管理下的包在一起使用不会冲突。
日后开发,变成以下步骤:
二、SpringBoot 版本管理
SpringBoot 中是如何做版本管理的呢?
现在 pom 文件中导入没有指定版本的 javax-servlet-api
坐标,刷新 pom 文件后,自动指定引入 javax
包的版本为 4.0.1:
原因在于,pom 中继承了 spring-boot-starter-parent
,而 spring-boot-starter-parent
中又继承了 spring-boot-dependencies
,其里面集中做了 版本管理。并且,后文又通过 <dependencyManagement>…</dependencyManagement>
做了一系列的 坐标依赖管理。那么日后,当引入其中的坐标的时候,就不用再指定版本了。
补充:基于阿里云创建的项目,如何做版本管理?
阿里云创建的项目,直接引入了 spring-boot-dependencies
,效果是一样的。
总结:
① 开发 SpringBoot 程序要继承 spring-boot-starter-parent
② spring-boot-starter-parent 中定义了若干个依赖管理(严格来讲是 spring-boot-dependencies)
③ 继承 parent 模块可以避免多个依赖使用相同技术时出现依赖版本冲突
④ 继承 parent 的形式也可以采用引入依赖的形式实现效果
参考链接:黑马程序员SpringBoot2全套视频教程,springboot零基础到项目实战(spring boot2完整版)