1.0 starter优点:
- 批量引入了相应模块的依赖,规范了引用依赖的版本
- 同时也提供了自动配置(配置项和bean)等功能,开箱即用。
2.0 一个starter主要包含以下几个部分
1.创建配置类(xxProperties)
2.创建自动装配类 (xxAutoConfiguration)
3.注册配置(spring.factories)
4.Endpoints 监控指标
装配对应的bean即可
5.HealthIndicator 安全检查
3.0 springboot启动时starter的查找过程
在应用程序启动过程中,Spring Boot使用SpringFactoriesLoader类加载器查找org.springframework.boot.autoconfigure.EnableAutoConfiguration关键字对应的Java配置文件。Spring Boot会遍历在各个jar包种META-INF目录下的spring.factories文件,构建成一个配置文件链表。除了EnableAutoConfiguration关键字对应的配置文件,还有其他类型的配置文件:
org.springframework.context.ApplicationContextInitializer
org.springframework.context.ApplicationListener
org.springframework.boot.SpringApplicationRunListener
org.springframework.boot.env.PropertySourceLoader
org.springframework.boot.autoconfigure.template.TemplateAvailabilityProvider
org.springframework.test.contex.TestExecutionListener
4.0 mybatias-spring-boot-starter举例
-
工程结构
autoconfig:自动装配(bean的生成和ConfigurationProperties),主要的核心逻辑都在这里。
starter:无源码,全部是依赖
image.png
网友评论