SpringBoot 最强大的功能就是把我们常用的场景抽取成了一个个starter(场景启动器),我们通过引入springboot 为我提供的这些场景启动器,我们再进行少量的配置就能使用相应的功能。即使是这样,springboot也不能囊括我们所有的使用场景,往往我们需要自定义starter,来简化我们对springboot的使用。
1、官网简介
入门程序是一组便捷的依赖项描述符,您可以在应用程序中包括它们。您可以一站式购买所需的所有Spring和相关技术,而不必遍历示例代码和依赖描述符的复制粘贴负载。例如,如果要开始使用Spring和JPA进行数据库访问,请spring-boot-starter-data-jpa
在项目中包括依赖项。
入门程序包含许多启动项目并快速运行所需的依赖项,并且具有一组受支持的受管传递性依赖项。
2、官网推荐命名
官方starter名称
推荐的自建starter命名
thirdpartyproject-spring-boot-starter
.
官方命名空间
- 前缀:spring-boot-starter-
- 模式:spring-boot-starter-模块名
- 举例:spring-boot-starter-web、spring-boot-starter-jdbc
自定义命名空间
- 后缀:-spring-boot-starter
- 模式:模块-spring-boot-starter
- 举例:mybatis-spring-boot-starter
命名规范可以参看myBatis命名,SpringBoot关于MyBatis的Stater是MyBatis提供的,并非SpringBoot提供。
mybatis-spring-boot-starter依赖mybatis-spring-boot-autoconfigure
3、自定义starter
1. 启动器模块
- 根据命名规范创建模块
- 空的jar文件,仅仅提供辅助性依赖管理,这些依赖可能用于自动装配或其他类库。
- 需要专门写一个类似spring-boot-autoconfigure的配置模块
- pom依赖中添加autoconfigure项目依赖
- 用的时候只需要引入启动器starter,就可以使用自动配置了
2. 自动配置模块
创建 xxxxx-spring-boot-autoconfigure项目,并配置自动配置类
不需要启动类
1 | //指定这个类是一个配置类 |
1 | // -------------自动配置类------------- |
1 | // -------------spring.factories配置类------------- |
4、项目安装
使用maven命令将两个项目安装至maven仓库,然后在其他项目中就可以引入starter,配置文件中根据自定义的starter规则配置,直接就可以实现开箱即用。
...
...
00:00
00:00
Copyright 2021 sunfy.top ALL Rights Reserved