案例 Demo:https://gitee.com/regexpei/coding-trainee/tree/demo/20240526_starter
介绍
在 Spring Boot 中,starter 启动依赖就像一个“开箱即用”的工具箱,它包含了第三方组件的配置和依赖,让我们无需手动配置和添加这些组件。
通过 starter,我们可以轻松地将通用的代码和配置整合成一个可复用的模块,从而简化项目搭建和代码管理,让开发人员更加专注于业务功能的开发。
那么,我们如何自定义一个 starter 呢?
步骤
-
创建 Maven 项目,命名规范为 xxx-spring-boot-starter
-
引入依赖
<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-autoconfigure</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-configuration-processor</artifactId> </dependency> </dependencies>
-
定义 XxxProperties 属性配置类,用于绑定 application.yaml 或 application.properties 文件中的配置属性
-
编写业务类,根据 starter 的功能需要编写业务逻辑
-
配置 XxxAutoConfiguration 自动配置类
- 使用
@Configuration
标记为配置类 - 使用
@EnableConfigurationProperties(XxxProperties.class)
绑定配置属性类
- 使用
-
创建 resources/META-INF/spring.factories
org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ xxx.xxx.xxx.XxxAutoConfiguration
-
在需要使用的项目中引入 starter
<dependency> <groupId>xxx.xxx</groupId> <artifactId>xxx-spring-boot-starter</artifactId> <version>1.0.0</version> </dependency>