教育行业A股IPO第一股(股票代码 003032)

全国咨询/投诉热线:400-618-4000

springboot启动流程是什么?

更新时间:2022年06月28日15时51分 来源:传智教育 浏览次数:

好口碑IT培训

第一步:

SpringApplication这个类整合了其他框架的启动类, 只要运行这一个类,所有的整合就都完成了,调用run函数, 将当前启动类的字节码传入(主要目的是传入@SpringBootApplication这个注解), 以及main函数的args参数


第二步:

在@SpringBootApplication注解中包含比较重要的注解: @EnableAutoConfiguration、@ComponentScan、@SpringBootConfiguration

@EnableAutoConfiguration注解中又包含一个@Import注解,该注解有一个类叫AutoConfigurationImportSelector,该类实现了ImportSelector接口的selectImports方法,该方法会去查询META-INF下的spring.factories文件。spring.properties文件中所有的EnableAutoConfiguration为key的全类名都会加载,但不一定都会放入IoC容器中,要判断他们是否满足Conditional的条件

@ComponentScan注解: 它会默认扫描@ComponentScan所在类的package及子包进行扫描

@SpringBootConfiguration: 标注当前类是配置类,并会将当前类内声明的一个或多个以@Bean注解标记的方法的实例纳入到spring容器中,并且实例名就是方法名


第三步:

@SpringBootApplication注解封装了核心的@SpringBootConfiguration+@EnableAutoConfiguration+@ComponentScan三个类, 大大节省了程序员配置时间,这就是SpringBoot的核心设计思想

常用的springboot注解

@SpringBootApplication: SpringBoot的非常重要的注解,用于实现Bean的默认扫描、自动装备

@SpringBootConfiguration: 标志当前的类是配置类

@EnableAutoConfiguration: 开启自动装备,顺便将自动装配的原理说说

@ComponentScan: 自定义包扫描的路径

@MapperScan: SpringBoot内置的Mybatis的Mapper文件扫描配置注解



猜你喜欢:

SpringBoot2 从基础到项目实战教程【全集】

为什么要开发SpringBoot?SpringBoot概述

SpringBoot 2.X有什么新特性?

SpringBoot整合NoSQL 数据库(Redis)实现缓存

传智教育Java高级软件工程师培训课程

0 分享到:
和我们在线交谈!