spring-: spring-boot-bootstrapping-behind-the-scenes
I. Spring Boot Application Step
<.> 1.1 JVM startup and the main class load
Java virtual machine (JVM) starts and loads the main class containing the
method.-
public static void main(String[] args)
<.> 1.2 Execution Method
SpringApplication.run()
Execute the method to start the Spring Boot application. This is the entrance point for all Spring Boot applications.
- <.> 1.3 Initialization
-
SpringApplication.run()
Initialization, including:
SpringApplication
Judgment application type (web or non -web).
- Prepare for the context.
SpringApplication
- <.> 1.4 Prepare
Create the context of the Spring application, as a container management bean, configuration and dependencies.
If it is a web application, use the context based on the service (such as ). ApplicationContext
-
AnnotationConfigServletWebServerApplicationContext
Load the registered Bean (modify the context before the context was started).
<.> 1.6 Detect and apply ApplicationContextInitializer
- Spring scan and load any
ApplicationContextInitializer
implementation, allowing external listeners to receive application startup notifications.
<.> 1.7 Preparing the environment (attributes, configuration files and configuration) SpringApplicationRunListener
- or
- and command line parameters.
SpringApplicationRunListener
Determine the activity and the default configuration file.
<.> 1.8 Refresh the context
- The context is completely refreshed, including:
application.properties
application.yml
Scanning belt includes categories of , - , and
instantiated bean and manage its life cycle.
Application dependency injection and analytical dependence relationship.-
-
@Component
<.> 1.9 Start the embedded web server (if applicable)@Service
@Repository
@Controller
If it is a web application, Spring Boot automatically starts the embedded Web server (Tomcat, Jetty or Undertow). - Web server monitor the passing request of the specified port.
and -
If there is a bean of
- or
- , they execute them.
- These beans are used to run the initialization logic after the application starts.
<.> 1.11 triggers Incident
In order to remember the startup process, it can be regarded as three main stages:
JVM start the application.
Scan, create and inject bean.
The application is fully running and waiting for the request. ?
CommandLineRunner
ApplicationRunner
<.> 1.12 Keep application operation (for web applications) ApplicationReadyEvent
Create and refresh the context. SpringApplication.run()
2️🎜 The initialization stage of the context
.
The above is the detailed content of spring-: spring-boot-bootstrapping-behind-the-scenes. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

Troubleshooting and solutions to the company's security software that causes some applications to not function properly. Many companies will deploy security software in order to ensure internal network security. ...

Field mapping processing in system docking often encounters a difficult problem when performing system docking: how to effectively map the interface fields of system A...

When using MyBatis-Plus or other ORM frameworks for database operations, it is often necessary to construct query conditions based on the attribute name of the entity class. If you manually every time...

Solutions to convert names to numbers to implement sorting In many application scenarios, users may need to sort in groups, especially in one...

Start Spring using IntelliJIDEAUltimate version...

Conversion of Java Objects and Arrays: In-depth discussion of the risks and correct methods of cast type conversion Many Java beginners will encounter the conversion of an object into an array...

Detailed explanation of the design of SKU and SPU tables on e-commerce platforms This article will discuss the database design issues of SKU and SPU in e-commerce platforms, especially how to deal with user-defined sales...

When using TKMyBatis for database queries, how to gracefully get entity class variable names to build query conditions is a common problem. This article will pin...
