`
ahua186186
  • 浏览: 561947 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

spring boot 核心类:SpringApplication--003

 
阅读更多

 

1.这个类执行逻辑:

(1)通过构造函数初始化Application Listeners和Application Context Initializers(采用SPI设计,从spring boot源码META-INF/spring.factories配置中抓取实现类)

 

(2)run方法:这里不做详细展开分析,后续展开

第1步:执行应用监听器(listeners.started())

 

第2步:创建spring系统环境对象(StandardServletEnvironment或者StandardEnvironment)

 

第3步:初始化spring系统环境的属性源MutablePropertySources

 

第4步:创建spring应用上下文(AnnotationConfigEmbeddedWebApplicationContext或AnnotationConfigApplicationContext)

 

第5步:初始化spring应用上下文:添加一个BeanFactoryPostProcessor.

context.addBeanFactoryPostProcessor(new ConfigurationWarningsApplicationContextInitializer.ConfigurationWarningsPostProcessor(this.getChecks()))

 

第6步:加载beanDefinition: 默认扫描SpringApplication启动目录和子目录class。

this.load(context, sources.toArray(new Object[sources.size()]));

 

第7步:扩展方法: this.refresh(context);

这里主要执行:

this.postProcessBeanFactory(beanFactory);

this.invokeBeanFactoryPostProcessors(beanFactory);//定制beanDefinition,这里面通过抓取class的注解做了很多事情,

this.registerBeanPostProcessors(beanFactory);//定制bean

this.initMessageSource();

this.initApplicationEventMulticaster();

this.onRefresh();  //EmbeddedWebApplicationContext重写了这个方法实现内嵌web容器

this.registerListeners();

this.finishBeanFactoryInitialization(beanFactory);

this.finishRefresh();

 

 

2.时序图,---待补充

分享到:
评论

相关推荐

    spring-boot-starter-mybatis-spring-boot-1.3.1.zip

    这个起步依赖包含了运行Spring Boot项目时所需要的MyBatis核心组件,如MyBatis-Spring、MyBatis自身以及相关的配置类等,使得开发者能够快速地在Spring Boot环境中启用MyBatis。 集成步骤通常包括以下几个关键点: ...

    spring-boot-reference-guide-zh

    ### Spring Boot 参考指南知识点概述 #### I. Spring Boot 文档概览 - **关于本文档** ...以上内容为Spring Boot参考指南中的一些关键知识点概述,旨在帮助读者快速掌握Spring Boot的核心概念和技术细节。

    (shang硅gu)Spring Boot核心技术-笔记-pdf版.pdf

    Spring Boot是Java开发中的一个核心框架,它旨在简化Spring应用的初始搭建以及开发过程。Spring Boot的核心特性在于它对整个Spring技术栈进行了集成,提供了J2EE开发的一站式解决方案,使得开发者能够快速构建出可...

    spring-boot源码

    3. **Spring Application**:Spring Boot应用通过`SpringApplication`类启动。它负责初始化Spring的ApplicationContext,并加载`src/main/resources/application.properties`或`application.yml`中的配置。`run()`...

    Spring Boot源码(spring-boot-2.6.2.zip)

    1. `org.springframework.boot.SpringApplication`: 应用启动类,负责初始化Spring应用上下文。 2. `org.springframework.boot.autoconfigure.*`: 自动配置相关的类,定义了各种条件判断和bean的创建逻辑。 3. `org....

    spring-boot中文参考指南

    - **配置类**:如何定义和使用Spring Boot的配置类。 - **自动配置**: - **逐步替换自动配置**:逐步覆盖默认配置。 - **禁用特定的自动配置**:根据需要关闭某些自动配置功能。 - **Spring Beans和依赖注入**:...

    spring-boot-2.0.0.M7 源码包

    4. **SpringApplication**:这是Spring Boot应用的入口点,`org.springframework.boot.SpringApplication`类负责加载和初始化Spring应用上下文,处理命令行参数,加载配置文件等。 5. **YAML/Properties配置**:...

    spring-boot 所有jar包

    Spring Boot 是一个由 Pivotal 团队开发的框架,旨在简化 ...只需将这些jar添加到类路径中,并提供一个主类继承自`SpringApplication`,就可以启动一个Spring Boot应用。这极大地简化了开发流程,提高了开发效率。

    十分钟上手spring boot

    本文档旨在帮助初学者快速掌握Spring Boot的基本操作与核心概念,适合那些希望迅速上手Spring Boot项目的新手。 **2. 获取帮助** 对于学习过程中遇到的问题,可以查阅官方文档、社区论坛或加入相关的技术交流群组...

    Spring Boot核心技术-笔记整理

    ### Spring Boot核心技术详解 #### 一、Spring Boot简介与入门 **Spring Boot** 是一个基于Spring框架的简化工具,旨在让开发者更容易地构建独立、生产级别的基于Spring的应用程序。它提供了一种开箱即用的体验,...

    Spring-Boot-Reference.pdf

    •核心特性: SpringApplication |外部配置|概要|日志 •Web应用:MVC |嵌入式容器 •处理数据:SQL | NO-SQL •消息传递:概述| JMS •测试:概述|引导应用| Utils •扩展:自动配置| @Conditions •管理端点:概述 •连接...

    Spring Boot参考指南.pdf

    - **使用Spring Boot**:详细介绍Spring Boot的基本用法,包括其核心特性和优势。 - **了解Spring Boot特性**:深入解析Spring Boot的关键特性,如自动配置、starter依赖等。 - **迁移到生产环境**:指导如何将...

    idea将maven项目改成Spring boot项目的方法步骤

    2. **添加Spring Boot核心依赖和测试依赖**: 在`<dependencies>`标签内,添加`spring-boot-starter`以启动Spring Boot的功能,如自动配置、日志和YAML配置。同时,添加`spring-boot-starter-test`用于单元测试,但...

    Spring boot 中文.pdf

    - **使用 Spring Boot**:本节主要介绍 Spring Boot 的核心概念和功能,以及如何利用这些功能来简化开发过程。 #### 二、Spring Boot 入门指南 - **Spring Boot 简介**:Spring Boot 是一种基于 Spring Framework ...

    Spring Boot核心技术-笔记1

    【Spring Boot核心技术笔记1】 Spring Boot是Spring框架的延伸,旨在简化Spring应用的开发过程,它将整个Spring技术栈整合在一起,提供了一种快速构建和部署J2EE应用程序的解决方案。Spring Boot的核心特点在于它的...

    spring boot

    - **配置文件与自动配置类**:Spring Boot 会查找对应的自动配置类,并根据配置文件中的属性进行配置。 - **Spring Boot Actuator**: - **作用**:提供了一组用于监控和管理应用的端点,包括健康检查、指标收集...

    spring-boot-1.5.6-src

    首先,Spring Boot的核心设计理念是“约定优于配置”,通过自动配置和起步依赖,使得开发者能够快速构建应用,而无需编写大量的XML配置文件。在1.5.6.RELEASE版本中,这一特性得到了充分展现。 1. **自动配置**:...

    spring boot 案例

    Spring Boot 应用的核心组件之一是控制器,它们负责处理 HTTP 请求并返回响应。 **知识点详解:** 1. **RESTful 控制器设计:** - 使用 `@RestController` 注解定义 RESTful 控制器。 - 使用 `@GetMapping`、`@...

    Spring-Boot - 初步搭建

    Spring-Boot 的核心设计理念是“约定优于配置”,它通过自动配置和起步依赖(Starter Dependency)来简化项目的构建和配置。 ### 1. Spring-Boot 的优势 1. **简化的配置**:Spring-Boot 不需要传统的 XML 配置...

Global site tag (gtag.js) - Google Analytics