创建自己的SpringBoot Starter

本文介绍了如何构建一个自定义的SpringBootStarter,包括添加Lombok和SpringConfigurationProcessor依赖,设置版本号,删除默认启动类,创建配置类,建立spring.factories文件,打包并在其他项目中引用,以及如何使用配置的属性和Bean。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 新建一个SpringBoot项目

添加依赖,Lombok,Spring Configuration Processor 和其他需要的依赖

	<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>
	<dependency>
		<groupId>org.projectlombok</groupId>
		<artifactId>lombok</artifactId>
		<optional>true</optional>
	</dependency>

spring-boot-configuration-processor 的作用是自动生成配置的代码提示,这样其他人引用你的包时,在 application.yml 中写入配置时就能自动提示。

2. 修改 pom 文件的版本号,并删除 build

	<groupId>com.han</groupId>
	<artifactId>my-sdk</artifactId>
	<version>0.0.1</version>

这里 groupId 和 artifactId 都可以自定义

注意:build部分一定要删除,其中 plugins 部分配置了一个插件,即 spring-boot-maven-plugin,用于在生成的 jar 包中内置tomcat。

3. 删除原本自动创建的启动类,新建一个类,并添加需要用到的依赖

@Data
@Configuration
@ConfigurationProperties(prefix = "myapi.client")
@ComponentScan
public class MyClientConfig {
    /**
     * appId
     */
    private String appId;
    /**
     * 密钥
     */
    private String appSecret;
    /**
     * 用户 id
     */
    private String userId;
    
    @Bean
    public MyApiClient myApiClient() {
        return new MyApiClient(appId, appSecret, userId);
    }
}

4. 在 resources 目录下新建 META-INF 目录,并创建 spring.factories 文件,并指定配置类的目录

# spring boot starter
org.springframework.boot.autoconfigure.EnableAutoConfiguration=com.han.MyClientConfig

5. install 打包,在本地的仓库生成依赖

6. 在其他项目中添加为依赖,复制 groupId,artifactId,version

        <!--自己创建的SDK-->
        <dependency>
            <groupId>com.han</groupId>
			<artifactId>my-sdk</artifactId>
			<version>0.0.1</version>
        </dependency>

7. 在配置文件当中就可以引用 starter 中设置的属性

myapi:
  client:
    appId: 1298612
    appSecret: asdjklisybfqz
    userId: 136192639812

8. 可以用@Resource引入 starter 当中定义的bean

	@Resource
    MyApiClient myApiClient;

这样就成功创建了自己的starter(★,°:.☆( ̄▽ ̄)/$:.°★

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值