在SpringBoot快速搭建中搭建了一个没有任何功能的项目,查看其pom.xml文件:
项目pom.xml文件有两个核心依赖,分别是spring-boot-starter-parent和spring-boot-starter。仔细观察可知spring-boot-starter-parent中有版本号,而spring-boot-starter中午版本号。实际在后续开发中都不用在依赖中添加版本号了,为什么呢?
使用“Ctrl+鼠标左键”进入并查看spring-boot-starter-parent底层源文件,先看spring-boot-starter-parent做了哪些事。
spring-boot-starter-parent 定义了: 1. 工程的Java版本为 17 ;
2. 工程代码的编译源文件编码格式为 UTF-8 ;
3. 工程编译后的文件编码格式为 UTF-8;
4. Maven打包编译的版本。
继续研究build节点部分,也定义了相关内容版本(不另外上图了)。
再继续看spring-boot-starter-parent的父依赖 spring-boot-dependencies,方式同进入spring-boot-starter-parent一样:
如上图所示这个才是SpringBoot项目的真正管理依赖的项目,里面定义了SpringBoot相关的版本。
如上图示:dependencies定义了SpringBoot版本的依赖的组件以及相应版本。
spring-boot-starter-parent 通过继承 spring-boot-dependencies 从而实现了SpringBoot的版本依赖管理,所以自定义的SpringBoot工程继承spring-boot-starter-parent后已经具备版本锁定等配置了,这也就是在 Spring Boot 项目中部分依赖不需要写版本号的原因啦。
标签:依赖,SpringBoot,parent,Spring,boot,pom,Boot,spring,starter From: https://www.cnblogs.com/ilovebath/p/18105935