springboot框架工作原理及流程是什么?详情介绍

SpringBoot是一个快速开发框架,它能够简化Spring应用的创建、运行、调试、部署等问题,能够做到专注于Spring应用的开发,而无需过多关注XML的配置。那springboot框架工作原理及流程是什么?下面来我们就来给大家讲解一下。

springboot框架工作原理:

1.基于SpringMVC无配置文件(纯Java)完全注解化+内置tomcat-embed-core实现SpringBoot框架,Main函数启动。

2.SpringBoot核心快速整合第三方框架原理:Maven继承依赖关系。

springboot框架工作流程:

1. 初始化监听器,以及添加到SpringApplication的自定义监听器。

2. 发布ApplicationStartedEvent事件,如果想监听ApplicationStartedEvent事件,你可以这样定义:public class ApplicationStartedListener implements ApplicationListener,然后通过SpringApplication.addListener(..)添加进去即可。

3. 装配参数和环境,确定是web环境还是非web环境。

4. 装配完环境后,就触发ApplicationEnvironmentPreparedEvent事件。

5. 如果SpringApplication的showBanner属性被设置为true,则打印启动的Banner。

6. 创建ApplicationContext,会根据是否是web环境,来决定创建什么类型的ApplicationContext。

7. 装配Context的环境变量,注册Initializers、beanNameGenerator等。

8. 发布ApplicationPreparedEvent事件。

9. 注册springApplicationArguments、springBootBanner,加载资源等

10. 遍历调用所有SpringApplicationRunListener的contextLoaded()方法。

11. 调用ApplicationContext的refresh()方法,装配context beanfactory等非常重要的核心组件。

12. 查找当前ApplicationContext中是否注册有CommandLineRunner,如果有,则遍历执行它们。

13. 发布ApplicationReadyEvent事件,启动完毕,表示服务已经可以开始正常提供服务了。通常我们这里会监听这个事件来打印一些监控性质的日志,表示应用正常启动了。

SpringBoot会触发其他的一些事件,这些事件按下列顺序触发:

(1)ApplicationStartingEvent:项目刚启动时触发,此时除了注册监听器和初始器之外,其他所有处理都没有开始;

(2)ApplicationEnvironmentPreparedEvent:上下文得到环境信息之后触发,此时上下文创建还没有创建;

(3)ApplicationPreparedEvent:bean的定义信息加载完成之后触发,此时bean还没有初始化;

(4)ApplicationReadyEvent:在所有bean初始化完毕,所有回调处理完成,系统准备处理服务请求时触发;

(5)ApplicationFailedEvent:启动过程出现异常时候触发。

SpringBoot是现在最受欢迎的开源框架,使用它能够使程序更加简单,功能更加丰富,性能更加稳定,所以对于SpringBoot的流程以及原理我们一定要熟悉!最后大家如果想要了解更多java架构师知识,敬请关注奇Q工具网。

推荐阅读:

json数据为空什么意思?json数据如何解析?

java开发工程师面试技巧有哪些?附java常见面试题!

java就业要学会哪些?Java就业方向是什么?