1、starter 原理简述
如今我们的服务几乎都是基于Spring Boot构建而来,我们可以将一些可独立于业务代码之外的功能和配置模块封装成一个个starter,SpringBoot会为我们完成自动装配,这样复用的时候只需要将其在中引用依赖即可。
2、starter 命名规则
- 官方命名规则:spring-boot-starter-xxx
- 非官方命名规则:xxx-spring-boot-starter
3、starter 搭建步骤
3.1 项目创建
无法配置java8时,可以参考《Spring Initializr无法选择JAVA8问题》
3.2 依赖引入
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-configuration-processor</artifactId> <optional>true</optional> </dependency>
spring-boot-configuration-processor:会自动生成spring-configuration-metadata.json,主要用于在配置文件里属性值的配置;
spring-boot-autoconfigure:springboot自动配置相关jar包;
3.3 代码处理
1)创建配置类
2)创建自动配置类
3)删除启动类
4)创建spring.fatories文件
在META-INF文件夹下创建spring.factories 文件,配置自动配置类路径
4、starter 搭建需要注意的点
在pom的build插件中一般只需要保留如下插件
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.8.1</version> <configuration> <source>1.8</source> <target>1.8</target> <encoding>UTF-8</encoding> </configuration> </plugin>