6、SpringBoot:自定义 starter
我们分析完毕了源码以及自动装配的过程,我们可以尝试自定义一个启动器来玩玩!
6.1、说明
启动器模块是一个 空 jar 文件,仅提供辅助性依赖管理,这些依赖可能用于自动装配或者其他类库;
命名归约:
官方命名:
- 前缀:spring-boot-starter-xxx
- 比如:spring-boot-starter-web....
自定义命名:
- xxx-spring-boot-starter
- 比如:mybatis-spring-boot-starter
6.2、编写启动器
1、在 IDEA 中新建一个空项目 spring-boot-starter-diy
2、新建一个普通 Maven 模块:kuang-spring-boot-starter
3、新建一个 Springboot 模块:kuang-spring-boot-starter-autoconfigure
4、点击 apply 即可,基本结构
5、在我们的 starter 中 导入 autoconfigure 的依赖!
6、将 autoconfigure 项目下多余的文件都删掉,Pom 中只留下一个 starter,这是所有的启动器基本配置!
7、我们编写一个自己的服务
8、编写 HelloProperties 配置类
9、编写我们的自动配置类并注入 bean,测试!
10、在 resources 编写一个自己的 META-INFspring.factories
11、编写完成后,可以安装到 maven 仓库中!
6.3、新建项目测试我们自己写的启动器
1、新建一个 SpringBoot 项目
2、导入我们自己写的启动器
3、编写一个 HelloController 进行测试我们自己的写的接口!
4、编写配置文件 application.properties
5、启动项目进行测试,结果成功 !