spring boot原理分析启动依赖中parent帮我们干了什么

主要内容:
1:分析spring-boot-starter-parent 这个依赖
通过前面几篇文章的学习,我们感受到了spring boot的魅力。最明显的感觉就是pom.xml文件。代码少了很多。其实这主要归功于依赖的parent。下面我们就来看看spring-boot-starter-parent这个依赖为什么有了它很多其他依赖(如spring core等)就不用在引入了.
本文来源:凯哥Java(kaigejava)
个人博客:www.kaigejava.com
公众号:凯哥Java(kaigejava)
一:怎么进入parent的依赖中?
在pom.xml文件中,按住ctrl点击spring-boot-start-parent,就可以跳转到其对应的pom.xml中。

进入看:

我们看到,这里定义的java版本是1.8.这也就是为什么spring boot必须要Java版本是1.8以上的原因 。

我们可以看到,其还有parent依赖。接着点进去查看:
点击进来,我们可以看到properties中配置了很多版本号。


我们可以看到,有很多常用的,在这个文件中都定义了版本号。
在当前文件中,搜索spring-core:

我们发现,这里已经指定了spring core的版本号。现在明白为什么,我们只需要引入spring-boot-start-parent后其他依赖就不用了吧。
原来,spring boot在这个文件中,将我们需要的所有依赖都准备好了。
spring boot原理分析启动依赖中parent帮我们干了什么的更多相关文章
- spring boot原理分析
1.分析spring-boot-starter-parent <parent> <groupId>org.springframework.boot</groupId> ...
- 涨姿势:Spring Boot 2.x 启动全过程源码分析
目录 SpringApplication 实例 run 方法运行过程 总结 上篇<Spring Boot 2.x 启动全过程源码分析(一)入口类剖析>我们分析了 Spring Boot 入 ...
- Spring Boot 2.x 启动全过程源码分析
Spring Boot 2.x 启动全过程源码分析 SpringApplication 实例 run 方法运行过程 上面分析了 SpringApplication 实例对象构造方法初始化过程,下面继续 ...
- Spring Boot 应用程序启动流程分析
SpringBoot 有两个关键元素: @SpringBootApplicationSpringApplication 以及 run() 方法 SpringApplication 这个类应该算是 Sp ...
- 200. Spring Boot JNDI:在Tomcat中怎么玩JNDI?
[视频&交流平台] àSpringBoot视频:http://t.cn/R3QepWG à SpringCloud视频:http://t.cn/R3QeRZc à Spring Boot源 ...
- spring boot 是如何启动 tomcat
Spring boot 的启动类启动后,tomcat 容器.Spring mvc .spring 事务等等第三方依赖也已经自动启动,那么spring boot 是如何启动的第三方依赖? 以spring ...
- 老李推荐:第5章7节《MonkeyRunner源码剖析》Monkey原理分析-启动运行: 循环获取并执行事件 - runMonkeyCycles
老李推荐:第5章7节<MonkeyRunner源码剖析>Monkey原理分析-启动运行: 循环获取并执行事件 - runMonkeyCycles poptest是国内唯一一家培养测试开 ...
- 老李推荐:第5章6节《MonkeyRunner源码剖析》Monkey原理分析-启动运行: 初始化事件源
老李推荐:第5章6节<MonkeyRunner源码剖析>Monkey原理分析-启动运行: 初始化事件源 poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试 ...
- 老李推荐:第5章3节《MonkeyRunner源码剖析》Monkey原理分析-启动运行: 启动脚本
老李推荐:第5章3节<MonkeyRunner源码剖析>Monkey原理分析-启动运行: 启动脚本 poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性 ...
随机推荐
- E. Double Elimination (DP)
题目:传送门 题意:有 2^n 个人进行比赛,对他们编号 1~2^n,起初1和2打,3和4打,5和6打,7和8打...,然后1和2打完胜利的 和 3和4打完胜利的再打一场,1和2打完失败的和3和4打完 ...
- No module named cv2 报错处理
运行python脚本出现“No module named cv2 ”,这时我们安装下opencv-python依赖即可 python3 -m pip install opencv-python
- TensorFlow(一)
一.Hello World 1.只安装CPU版,TensorFlow1.14.0版本代码 # import tensorflow as tf import tensorflow.compat.v1 a ...
- Java目录下文件夹的含义和运行机制
Java安装目录下的各个文件夹的意义 >bin 放置Java所有的可执行文件 >include 一些C语言的头文件 >jre Java的运行环境 >lib Java的类库文件 ...
- solr集群的搭建
solrCloud 昨天随手写了个solr单机版的搭建,今天准备写一个solr集群的搭建!1.solr集群只要环境配置正确还是比较简单的环境:CentOS-6.4-i386-bin-DVD1.isoj ...
- Facebook的Libra “区块链”到底是如何运作的?
本文深入研究了"关于Facebook Libra coin (以及更多)平台协议"的26页技术文档,并对其内容进行了分解说明.同时,我们对这53位作者表示衷心的钦佩! 以下为具体分 ...
- Java 开发者必须了解的 16 个Java 顶级开源项目!
本文已经收录自笔者开源的 JavaGuide: https://github.com/Snailclimb/JavaGuide ([Java学习+面试指南] 一份涵盖大部分Java程序员所需要掌握的核 ...
- ZJNU 2208 - 你渴望力量吗
在图的最外面套一层0(防止到头) 然后搜索图有多少块在 '0'有两块0,一块1 '1'有一块0,一块1 其余情况不存在 #include<stdio.h> ],dx[]={,,,-},dy ...
- python 多维数组 字典
#多维数组list = [[87,57,98],[34,87,90]]print(list[1][0]) l = [[87,57,98],[34,87,[90,99,67]]]print(l[1][2 ...
- 18)C++对C的增强
在C++中所有的变量都必须有类型,但是在C语言中没有这个要求,C语言中的默认类型在C++中不合法, #include<stdio.h> f() { ; } int main() { int ...