首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

SpringBoot启动原理

背景 1> 大家都知道SpringBoot是通过main函数启动的,这里面跟踪代码到处都没有找到while(true),为什么启动后可以一直跑?...3> 传统的web容器比如jetty本质上是直接通过java start.jar 来启动,之后来加载spring上下文的,SpringBoot通过main函数是怎么来启动web容器的呢?...问题1分析 问题1很简单,启动后一直跑是因为启动了线程池。原理就是有非deamon的线程在跑。Java虚拟机规范定义要等所有用户线程都运行完才会退出。 所以这个原理就和下面启动线程池一样 ?...问题3分析 第三个问题是传统的web容器比如jetty本质上是直接通过java start.jar 来启动,之后来加载spring上下文的,SpringBoot通过main函数是怎么来启动web容器。...而容器启动的基本原理就是创建个线程池和网络套接字。用线程去处理套接字读写的内容。 总结 文本用带有少许说明的三个问题开场展开论述,实际是使用了麦肯锡大法中的SCQA架构。

80960
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    SpringBoot启动流程分析原理(一)

    很多程序员都感慨SpringBoot的到来大大解放了生产力,但是也有聪明的程序猿会多思考一下下,SpringBoot是怎么做到的约定的配置?它配置在了哪里?...又是怎么启动的作用等等一系列的问号在跟女朋友花前月下的时候,依然会时不时冒出来。...我们跟着 SpringBoot的源码来探究它的启动流程,首先,先找到这个应用程序的入口主方法,在上面打一个断点: 启动之后,F7进入到 run()方法,我的电脑是点击F7(Step into)...启动过程中初始化SpringApplication 的过程。...这篇文章主要是给大家说了下SpringBoot 启动过程中初始化SpringApplication的流程,大致可以分为四个步骤∶ 推演web应用的类型(如果没有加web依赖类型NONE) 初始化 ApplicationContextInitializer

    15610

    springboot 启动原理启动过程、启动机制的介绍

    以下是 Spring Boot 的一些核心原理启动原理1. 自动配置Spring Boot 的一个核心特点是其自动配置。它会自动配置 Spring 应用程序基于项目中添加的 jar 依赖。...通过以上原理,Spring Boot 实现了“约定大于配置”的软件设计范式,极大地简化了基于 Spring 的应用开发和服务部署。...启动过程:Spring Boot 的启动机制设计得既简单又高效,这使得开发者能够迅速启动和运行一个独立的、生产级的应用程序。这一过程主要涉及以下几个核心步骤:1....启动入口Spring Boot 应用的启动从一个包含 main() 方法的主类开始。这个主类会使用 SpringApplication.run() 方法来启动 Spring 应用。...Spring Boot 启动过程详解Spring Boot 的启动过程是一个复杂而又精妙的流程,它负责加载配置、初始化应用上下文、自动配置和启动内嵌服务器等任务。

    84721

    一文搞懂springboot启动原理

    SpringBoot为我们做的自动配置,确实方便快捷,但一直搞不明白它的内部启动原理,这次就来一步步解开SpringBoot的神秘面纱,让它不再神秘。 ?...启动类,整个SpringBoot应用依然可以与之前的启动类功能对等: @Configuration@EnableAutoConfiguration@ComponentScanpublic class Application...社区推荐使用基于JavaConfig的配置形式,所以,这里的启动类标注了@Configuration之后,本身其实也是一个IoC容器的配置类。...注:所以SpringBoot启动类最好是放在root package下,因为默认不指定basePackages。...以上图为例,DemoApplication是和demo包同级,但是demo2这个类是DemoApplication的父级,和example包同级 也就是说,DemoApplication启动加载的Bean

    45510

    springboot启动流程及原理_精馏的原理及流程

    1.springboot启动类入口 @SpringBootApplication @ComponentScan(basePackages ={"cn"}) public class SpringBootDemo...注:所以SpringBoot启动类最好是放在root package下,因为默认不指定basePackages 3) @EnableAutoConfiguration 此注解顾名思义是可以自动配置,...所以应该是springboot中最为重要的注解。...该方法在springboot启动流程——bean实例化前被执行,返回要实例化的类信息列表; 如果获取到类信息,spring可以通过类加载器将类加载到jvm中,现在我们已经通过spring-boot的starter...启动流程概览图 发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/171544.html原文链接:https://javaforall.cn

    22820

    程序员进阶之路 --- SpringBoot 启动原理剖析

    所以,如果我们使用如下的SpringBoot启动类,整个SpringBoot应用依然可以与之前的启动类功能对等: @Configuration @EnableAutoConfiguration @ComponentScan...---- 本文以调试一个实际的SpringBoot启动程序为例,参考流程中主要类类图,来分析其启动逻辑和自动化配置原理。 ?...总览 上图为SpringBoot启动结构图,我们发现启动流程主要分为三个部分: 第一部分进行SpringApplication的初始化模块,配置一些基本的环境变量、资源、构造器、监听器; 第二部分实现了应用具体的启动方案...Bean,至此,通过SpringBoot启动的程序已经构造完成,接下来我们来探讨自动化配置是如何实现。...该方法在springboot启动流程——bean实例化前被执行,返回要实例化的类信息列表。

    42330

    SpringBoot启动机制(starter机制)核心原理详解

    作者:MyBug 一、前言 使用过springboot的同学应该已经知道,springboot通过默认配置了很多框架的使用方式帮我们大大简化了项目初始搭建以及开发过程。...本文的目的就是一步步分析springboot启动过程,这次主要是分析springboot特性自动装配。...…… 花在搭建一个初始项目,可能一个小时就过去了或者半天救过了,但是用了SpringBoot之后一切都会变得非常便捷,下面我们首先来分析一下SpringBoot的起步依赖以及自动配置。...4.Bean的发现 springboot默认扫描启动类所在的包下的主类与子类的所有组件,但并没有包括依赖包的中的类,那么依赖包中的bean是如何被发现和加载的?...spring容器,这就是前文所说的springboot默认扫描启动类所在的包下的主类与子类的所有组件。

    2.6K40
    领券