【SpringBoot】如何实现一个SpringBoot的starter

本文详细介绍了如何实现SpringBoot的自动配置和starter。主要内容包括理解自动配置的工作原理,条件注解的使用,如@ConditionalOnClass、@ConditionalOnProperty等,以及如何测试自动配置。此外,还探讨了创建自己的starter的步骤,包括命名规范、配置键名设计、自动配置模块和starter模块的构建。
摘要由CSDN通过智能技术生成

简概

官网文档:https://docs.spring.io/spring-boot/docs/2.7.5/reference/htmlsingle/#using.auto-configuration

https://docs.spring.io/spring-boot/docs/2.7.5/reference/htmlsingle/#features.developing-auto-configuration

主要步骤

编写 Java Config

  • @Configuration

添加条件

  • @Conditional

绑定⾃动配置

  • META-INF/spring.factories

条件注解

条件注解

  • @Conditional

类条件

  • @ConditionalOnClass
  • @ConditionalOnMissingClass

属性条件

  • @ConditionalOnProperty

Bean 条件

  • @ConditionalOnBean
  • @ConditionalOnMissingBean
  • @ConditionalOnSingleCandidate

资源条件

  • @ConditionalOnResource

Web 应⽤条件

  • @ConditionalOnWebApplication
  • @ConditionalOnNotWebApplication

其他条件

  • @ConditionalOnExpression
  • @ConditionalOnJava
  • @ConditionalOnJndi

详述

官网地址:https://docs.spring.io/spring-boot/docs/2.7.5/reference/htmlsingle/#features.developing-auto-configuration

自动配置类可以捆绑在外部jar中,并依旧可以被Spring Boot获取。

自动配置可以与一个“starter”相关联,该starter提供自动配置代码以及与之一起使用的典型库。我们首先介绍构建自己的自动配置所需的知识,然后继续介绍创建自定义启动器所需的典型步骤

理解Auto-configured Beans

实现自动配置的类使用@AutoConfiguration注解。该注解本身使用@Configuration进行元注解,使自动配置成为标准的@Configuration类。可以通过附加@Conditional注解用于约束何时应用自动配置。通常,自动配置类使用@ConditionalOnClass@ConditionalOnMissingBean注解。这确保了自动配置只在找到相关类并且没有声明自己的@Configuration时才会应用。

你可以浏览 spring-boot-autoconfigure 的源代码来查看Spring提供的@AutoConfiguration类(参见

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值