Springboot自动配置原理与自定义starter

目录

自动配置

自动配置-源码分析

自定义starter

自定义mybatis的starter


自动配置

遵循约定大约配置的原则,在boot程序启动后,起步依赖中的一些bean对象会自动注入到ioc容器。

自动配置-源码分析

程序引入spring-boot-starter-web起步依赖,启动后,会自动往ioc容器中注入DispatcherServlet

1、在主启动类上添加了SpringBootApplication注解,这个注解组合了EnableAutoConfiguration注解

2、EnableAutoConfiguration注解又组合了lmport注解,导入了AutoConfigurationlmportSelector类

3、实现selectlmports方法,这个方法经过层层调用,最终会读取META-INF目录下的后缀名为imorts的文件,springboot2.7以前的版本,读取的是spring.factories文件。

4、读取到全类名了之后,会解析注册条件,也就是@Conditional及其衍生注解,把满足注册条件的Bean对象自动注入到Ioc容器中。

自定义starter

在实际开发中,经常会定义一些公共组件,提供给各个项目团队使用。而在SpringBoot的项目中,一般会将这些公共组件封装为SpringBoot的 starter。

自定义mybatis的starter

步骤

1、创建dmybatis-spring-boot-autoconfigure模块,提供自动配置功能,并自定义配置文件 

META-INF/spring/xx.imports,只保留配置文件,配置类和pom文件即可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值