springboot注解启动原理(springboot注解工作原理)

网友投稿 155 2023-12-27


SpringBoot启动分析

1、初始化initialize方法执行完之后,会调用run方法,开始启动SpringBoot。首先遍历执行所有通过SpringFactoriesLoader,在当前classpath下的META-INF/spring.factories中查找所有可用的SpringApplicationRunListeners并实例化。

2、SpringBootx只区分web环境和非web环境,而在x版本中引入了Reactive环境,即响应式环境.那么现在SpringBoot支持三种环境: Servlet的web环境、Reactive的web环境以及非web环境。

3、SpringBoot的启动主要是通过实例化SpringApplication来启动的。

4、在SpringBoot的启动类,我们都会加上 @SpringBootApplication 注解。这个注解默认会引入 @EnableAutoConfiguration 注解。然后 @EnableAutoConfiguration 会 @Import(AutoConfigurationImportSelector.class) 。

SpringBoot的启动过程及部分注解

springboot启动流程如下:启动流程主要分为三个部分,第一部分进行、SpringApplication的初始化模块,配置一些基本的环境变量、资源、构造器、监听器,第二部分实现了应用具体的启动方案,包括启动流程的监听模块、加载配置环境模块。

启动:每个SpringBoot程序都有一个主入口,也就是main方法,main里面调用SpringApplication.run()启动整个spring-boot程序,该方法所在类需要使用@SpringBootApplication注解。

SpringBoot的启动主要是通过实例化SpringApplication来启动的。

SpringBoot核心原理:自动配置、事件驱动、Condition

1、Spring Framework的条件化配置特性。Spring Boot自动配置的实现利用了Spring Framework的特性,比如自动配置类(AutoConfiguration)中的@Conditional注解,该注解允许根据特定条件启用或禁用自动配置。

2、springboot自动配置原理是基于条件判断来配置Bean。pring Boot的自动配置原理是基于Spring框架的条件化配置(Conditional Configuration)机制实现的。

3、Spring Boot 的自动装配原理主要依赖于 Spring 框架提供的 @Configuration、@ComponentScan 和 @Conditional 等注解,配合 Spring Boot 提供的 @EnableAutoConfiguration 和 spring.factories 配置文件,来实现自动装配的功能。

4、Spring支持Java配置和XML配置,他们为应用程序开启了特定的特性和功能,SpringBoot实现了自动配置,可以减少配置负担。

5、首先遍历执行所有通过SpringFactoriesLoader,在当前classpath下的META-INF/spring.factories中查找所有可用的SpringApplicationRunListeners并实例化。调用它们的starting()方法,通知这些监听器SpringBoot应用启动。

6、首先打开一个基本的springboot项目,点进去@SpringBootApplication注解。

springboot自动配置原理

1、Spring Boot的自动配置原理主要基于以下两个方面:Spring Framework的条件化配置特性。

2、Spring Boot 的自动装配原理主要依赖于 Spring 框架提供的 @Configuration、@ComponentScan 和 @Conditional 等注解,配合 Spring Boot 提供的 @EnableAutoConfiguration 和 spring.factories 配置文件,来实现自动装配的功能。

3、默认的byName自动装配:当一个bean的属性名称与其他bean的id相同时,Spring会自动将该bean引用到这些同名的bean中去。


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:apkandroid(apkAndroidHarmonyOS)
下一篇:创建springboot工程?
相关文章

 发表评论

暂时没有评论,来抢沙发吧~