我们原先基于spring开发一个web项目,可能需要引入,spring家族中的各种依赖,比如springMVC,spring-aop,spring-tx ... 等等。会在pom.xml文件汇总配置一大堆依赖,而且还需要指定版本号。慢慢的我们使用的比较通用的依赖,我们会按照Maven的pom文件的父子继承关系,将公用的依赖提取出去放到parent依赖进行管理,并且管理好相关的版本,字pom文件集成父pom然后,子pom针对性的添加依赖。
但是以上还是没有将管理pom中依赖版本的操作解放出来,还是需要我们去定期维护版本。
为了减少我们对常用依赖的频发配置,以及对依赖版本的频繁维护。springboot出现了,springboot秉持着 “约定优于配置”的理念,将我们平时开发中的多种依赖统一管理起来,“约定优于配置”意思是我么开发中,那些需要配置的操作。
举个栗子
比如我们开发一个功能需要引入某一个第三方jar包,就需要在pom中引入相应的依赖,有些还需要我们自定义一些配置文件来读取,比如要引入数据库,我们就得引入他的驱动,需要编写一个配置文件来读取他的用户名,用户密码,访问链接等,这些我们有时候忘了他的某些配置项,会出现配错的情况,那么,能不能把这些需要配置的配置项事先约定好,通过自动提示等操作,简化我们的开发。
总结一下:
1、springboot通过parent的pom简化了我们对常用依赖的个性化配置,统一了版本。
2、springboot通过starter的规范将一些散装的功能组件封装成为一个starter,使之成为一个具有完整功能的单元,这个单元其实是一系列功能相关的依赖的集合体。按照规范对外提供一些配置项。