# SpringBoot3教程 - 20 自定义Starter
Starter
也就是场景启动器,通过 Starter
可以简化项目的依赖管理,在开发的时候,只需要引入指定的 Starter
,而无需关心底层的依赖关系。同时 Starter
中可以包含配置信息和自动配置类,使得集成更加便捷,降低项目复杂性,提高开发效率。
而通过自定义 Starter
,我们可以将一些通用的功能或组件进行封装,可以在多个项目之间进行共享和复用,减少重复代码和配置。各个项目也可以有统一的配置标准,减少配置差异和错误,提高代码质量和一致性。
通过前面自动配置原理的学习,下面我们来介绍一下自定义 Starter
的实现。
# 20.1 自定义Starter说明
# 1 Starter模块说明
Starter 一般由两个模块构成:
xxx-autoconfigure
模块,提供自动配置功能;xxx-starter
模块,提供依赖管理功能,然后在 xxx-starter 模块引入xxx-autoconfigure
模块。
查看官方的 starter,例如 spring-boot-starter
:
可以看到其中没有任何的java代码,通过项目的pom.xml去查看依赖,跳进 spring-boot-starter
的pom.xml,可以看到最终依赖了spring-boot-autoconfigure
。
所以启动器只用来做依赖导入,另外专门来写一个自动配置模块,启动器依赖自动配置;使用 Starter 的人只需要引入启动器(Starter),启动器再自动导入自动配置模块。
# 2 Starter名称说明
编写 Starter 的名称,我们还是不要太随意,按照指定的格式,规范且专业:
SpringBoot 官方Starter的名称都是如下格式:
- 格式:
spring-boot-starter-模块名
- 举个栗子:
spring-boot-starter-web
、spring-boot-starter-jdbc
。
自定义 Starter 的名称一般使用如下格式:
- 格式:
模块-spring-boot-starter
- 举个栗子:
mybatis-spring-boot-starter
、jasypt-spring-boot-starter
。
所以这里我们也按照这个格式。
下面开始创建项目。
内容未完......