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项目时所需要的MyBatis核心组件,如MyBatis-Spring、MyBatis自身以及相关的配置类等,使得开发者能够快速地在Spring Boot环境中启用MyBatis。 集成步骤通常包括以下几个关键点: ...
### Spring Boot 参考指南知识点概述 #### I. Spring Boot 文档概览 - **关于本文档** ...以上内容为Spring Boot参考指南中的一些关键知识点概述,旨在帮助读者快速掌握Spring Boot的核心概念和技术细节。
Spring Boot是Java开发中的一个核心框架,它旨在简化Spring应用的初始搭建以及开发过程。Spring Boot的核心特性在于它对整个Spring技术栈进行了集成,提供了J2EE开发的一站式解决方案,使得开发者能够快速构建出可...
3. **Spring Application**:Spring Boot应用通过`SpringApplication`类启动。它负责初始化Spring的ApplicationContext,并加载`src/main/resources/application.properties`或`application.yml`中的配置。`run()`...
1. `org.springframework.boot.SpringApplication`: 应用启动类,负责初始化Spring应用上下文。 2. `org.springframework.boot.autoconfigure.*`: 自动配置相关的类,定义了各种条件判断和bean的创建逻辑。 3. `org....
- **配置类**:如何定义和使用Spring Boot的配置类。 - **自动配置**: - **逐步替换自动配置**:逐步覆盖默认配置。 - **禁用特定的自动配置**:根据需要关闭某些自动配置功能。 - **Spring Beans和依赖注入**:...
4. **SpringApplication**:这是Spring Boot应用的入口点,`org.springframework.boot.SpringApplication`类负责加载和初始化Spring应用上下文,处理命令行参数,加载配置文件等。 5. **YAML/Properties配置**:...
Spring Boot 是一个由 Pivotal 团队开发的框架,旨在简化 ...只需将这些jar添加到类路径中,并提供一个主类继承自`SpringApplication`,就可以启动一个Spring Boot应用。这极大地简化了开发流程,提高了开发效率。
本文档旨在帮助初学者快速掌握Spring Boot的基本操作与核心概念,适合那些希望迅速上手Spring Boot项目的新手。 **2. 获取帮助** 对于学习过程中遇到的问题,可以查阅官方文档、社区论坛或加入相关的技术交流群组...
### Spring Boot核心技术详解 #### 一、Spring Boot简介与入门 **Spring Boot** 是一个基于Spring框架的简化工具,旨在让开发者更容易地构建独立、生产级别的基于Spring的应用程序。它提供了一种开箱即用的体验,...
•核心特性: SpringApplication |外部配置|概要|日志 •Web应用:MVC |嵌入式容器 •处理数据:SQL | NO-SQL •消息传递:概述| JMS •测试:概述|引导应用| Utils •扩展:自动配置| @Conditions •管理端点:概述 •连接...
- **使用Spring Boot**:详细介绍Spring Boot的基本用法,包括其核心特性和优势。 - **了解Spring Boot特性**:深入解析Spring Boot的关键特性,如自动配置、starter依赖等。 - **迁移到生产环境**:指导如何将...
2. **添加Spring Boot核心依赖和测试依赖**: 在`<dependencies>`标签内,添加`spring-boot-starter`以启动Spring Boot的功能,如自动配置、日志和YAML配置。同时,添加`spring-boot-starter-test`用于单元测试,但...
- **使用 Spring Boot**:本节主要介绍 Spring Boot 的核心概念和功能,以及如何利用这些功能来简化开发过程。 #### 二、Spring Boot 入门指南 - **Spring Boot 简介**:Spring Boot 是一种基于 Spring Framework ...
【Spring Boot核心技术笔记1】 Spring Boot是Spring框架的延伸,旨在简化Spring应用的开发过程,它将整个Spring技术栈整合在一起,提供了一种快速构建和部署J2EE应用程序的解决方案。Spring Boot的核心特点在于它的...
- **配置文件与自动配置类**:Spring Boot 会查找对应的自动配置类,并根据配置文件中的属性进行配置。 - **Spring Boot Actuator**: - **作用**:提供了一组用于监控和管理应用的端点,包括健康检查、指标收集...
首先,Spring Boot的核心设计理念是“约定优于配置”,通过自动配置和起步依赖,使得开发者能够快速构建应用,而无需编写大量的XML配置文件。在1.5.6.RELEASE版本中,这一特性得到了充分展现。 1. **自动配置**:...
Spring Boot 应用的核心组件之一是控制器,它们负责处理 HTTP 请求并返回响应。 **知识点详解:** 1. **RESTful 控制器设计:** - 使用 `@RestController` 注解定义 RESTful 控制器。 - 使用 `@GetMapping`、`@...
Spring-Boot 的核心设计理念是“约定优于配置”,它通过自动配置和起步依赖(Starter Dependency)来简化项目的构建和配置。 ### 1. Spring-Boot 的优势 1. **简化的配置**:Spring-Boot 不需要传统的 XML 配置...