boot spring 一直转 启动_SpringBoot启动类如何运转?

SpringBoot运转原理概述

创建SpringBoot项目,在一个类中,加上@SpringBootApplication注解,此类为启动类,创建业务在启动类所在的包或者子包。运行启动类,会自动扫描子孙包中的类,查看子孙包中是否有自己选择器所管理的启动项,自动装配。没明白继续往下看, 上图!

此类为启动类@SpringBootApplication注解

此包为启动包 com.jt 后续业务代码就写在这个包的子孙包中

启动类调用run() 传递参数 启动类的类型 .class

@SpringBootApplication注解

进入此注解 如下图

@Target(ElementType.TYPE) //元注解 指定作用范围

@Retention(RetentionPolicy.RUNTIME) //元注解 指定作用时间

@Documented //元注解 是否支持生成文档

@Inherited //元注解 该注解是否可以被继承

@SpringBootConfiguration // 配置文件注解

@EnableAutoConfiguration // **核心**

//指定扫描的包

@ComponentScan(excludeFilters = { @Filter(type = FilterType.CUSTOM, classes = TypeExcludeFilter.class),

//指定排除的加载对象

@Filter(type = FilterType.CUSTOM, classes = AutoConfigurationExcludeFilter.class) })

@SpringBootConfiguration 配置文件注解

作用:表示主启动类是一个大型的配置文件 启动时会加载所有的小配置文件

@Target(ElementType.TYPE)

@Retention(RetentionPolicy.RUNTIME)

@Documented

@Configuration 表示该类是一个配置类.

@ComponentScan 指定扫描的包的注解

excludeFilters

说明 在springboot容器启动时,不需要加载某些过滤器.由于parent标签中定义了所有的关联的jar包文件信息.所有需要提前剔除~~~~

接下来就是核心

@EnableAutoConfiguration

其中最关键的要属@Import(AutoConfigurationImportSelector.class)

借助选择器AutoConfigurationImportSelector,EnableAutoConfiguration可以帮助SpringBoot将所有的符合条件的@Configuration都交给SpringBoot容器管理,Spring框架原有的一个工具类:SpringFactoriesLoader的支持,@EnableAutoConfiguration自动装配的功能就成功了。也就是开箱即用

总结:springboot项目就是run()启动类,同时扫描子孙包,找自己的人,找到符合条件的,就给SpringBoot创建的容器并IOC~~~~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值