| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Java知识库 -> SpringBoot的自动配置原理和启动原理 -> 正文阅读 |
|
[Java知识库]SpringBoot的自动配置原理和启动原理 |
1.自动配置的原理springBoot项目都会有一个启动类,启动类上有一个@SpringBootApplicaion注解,这个注解是一个组合注解,主要有三部分组成:
?
? **为什么不使用 @Import 直接引入自动配置类** 有两个原因: springBoot启动过程我们可以看到启动类里面只有一个静态方法run ?点进这个run方法 发现还是个run方法,我们再点进去 ?啊,可以发现分为了两个步骤,一个是新建一个SpringApplication对象,另一个步骤是调用这个对象的成员方法run(), 注意,这里是成员方法,并不是启动类里的静态方法。? 下面我们来看一下主要的步骤: 1. 记录 BeanDefinition 源 ? ? ? ? 这一步是从系统中到处寻找需要加入到IOC,也就是被spring管理的bean的定义信息。 ? ? ? ? 看看程序是什么类型的,比如非web程序,基于servlet的web程序,基于reactive的web程序 ? ? ? ? 不少人可能会问:初始化器有什么作用呢? ? ? ? ? 初始化器的作用是当需要对spring容器进行扩展功能时,需要初始化器提供必要的支持。 阶段二:执行 run 方法 1. 得到 SpringApplicationRunListeners,名字取得不好,实际是事件发布器 ? ?* 发布 application starting 事件1? ? ? * 这其中有异常,发布 application failed 事件7? |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年1日历 | -2025/1/31 7:26:59- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |