SpringBoot怎么自定义一个Starter

SpringBoot怎么自定义一个Starter

starter是什么

spring-boot-starter是spring-boot的一个非常重要组成部分。spring-boot-starter可以理解为一个可拔插式的组件。它可以让模块开发独立化,相互间依赖更加松散,也可以更加方便地集成。     

当应用程序需要使用到某个starter的相关服务时,只需要在maven中引入该starter依赖既可。

spring-boot-starter创建

命名规范

在创建spring-boot-starter的项目时,我们需要给项目命名。对于starter的项目命名,spring官方文档中给出了说明。

  • 官方的spring-boot-starter命名格式为:spring-boot-starter-{xxxx}。 比如: spring-boot-starter-web。
  • 自定义的spring-boot-starter命名格式为: {xxxx}-spring-boot-starter。比如druid-spring-boot-starter。

自定义配置信息类

    在spring-boot-starter的项目中,我们一般会自定义一个配置类来读取项目配置文件的信息。

一般会使用@ConfigurationProperties注解,来读取特定前缀的配置信息。

例如在druid-spring-boot-starter项目中,定义了一个DruidStatProperties配置类,专门读取以” spring.datasource.druid”开头的配置信息。

 

自动配置类

我们会定义一个自动配置类,在spring-boot启动时,它会自动实例化一些需要的bean。这个自动配置类需要在spring.factories文件中配置。

在自动配置类中一般会使用到@EnableConfigurationProperties、@Configuration、@Bean这些注解。

在druid-spring-boot-starter项目中,定义了DruidDataSourceAutoConfigure这个配置类,在DruidDataSourceAutoConfigure类中实例化了DataSource的这个bean。

 

spring.factories

   我们需要在starter项目的resources目录下,建立一个META-INF目录,并在这个目录下创建一个spring.factories文件。

   在这个spring.factories文件配置我们自定义的自动配置类。例如:

org.springframework.boot.autoconfigure.EnableAutoConfiguration=\xxxx.xxxx.XXXXAutoConfiguration。

 

spring-boot-starter使用

spring-boot-starter的使用非常简单,只需要在maven中引用项目的starter就可以了。以使用druid-spring-boot-starter为例:

    <dependency>

    <groupId>com.alibaba</groupId>

    <artifactId>druid-spring-boot-starter</artifactId>

    <version>1.2.1</version>

    </dependency>

posted on   yaoxtao  阅读(292)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

点击右上角即可分享
微信分享提示