在实际开发中,经常会定义一些公共组件,提供给各个项目团队使用。而在SpringBoot的项目中,一般会将这些公共组件封装为SpringBoot 的starter。
一、如何自定义一个Starter,以Mybatis为例,进行原理参考:
1.起步依赖一般有两个工程组成:
第一个为XXX-autoconfigure,主要提供自动配置功能。
第二个为XXX-starter,主要提供依赖管理功能。
第二个XXX-starter里会引入XXX-autoconfigure,在使用时只引入XXX-starter即可。
2.以自定义一个Mybatis的Starter为例,进行简单示例,主要包含以下两个步骤:
1)创建 dmybatis-spring-boot-autoconfigure 模块,提供自动配置功能,并自定义配置文件 META-INF/spring/xxx.imports。(dmybatis此命名主要是为了与原有的mybatis进行区别)。
2)创建 dmybatis-spring-boot-starter 模块,在starter中引入自动配置模块autoconfigure。
3.使用IDEA进行自定义Mybatis的Starter:
新建两个maven工程,命名为dmybatis-spring-boot-autoconfigure和dmybatis-spring-boot-starter;
3.1 创建 dmybatis-spring-boot-autoconfigure 模块
1)在dmybatis-spring-boot-autoconfigure中提供Mybatis自动配置功能,首先引入依赖,打开pom.xml:
<dependency>
<groupId>