头秃了,使用@AutoConfigureBefore指定配置类顺序竟没生效?

本文详细介绍了如何自定义Spring Boot的starter,包括创建自动配置类和设置它们在`spring.factories`中。同时,文章讨论了自动配置类的执行顺序,解释了@AutoConfigureBefore、@AutoConfigureAfter和@AutoConfigureOrder注解的作用,并通过源码分析揭示了自动配置类的排序逻辑。最后,作者分享了一个关于错误使用这些注解的经典误区。
摘要由CSDN通过智能技术生成

头秃了,使用@AutoConfigureBefore指定配置类顺序竟没生效?

前言

日常工作中对于Spring Boot 提供的一些启动器可能已经足够使用了,但是不可避免地需要自定义启动器,比如整合一个陌生的组件,也想要达到开箱即用的效果。

在上一章节从底层源码介绍了Spring Boot 的自动配置的原理,未读过的朋友建议看一下:Spring Boot 自动配置源码解析

这篇文章将会介绍如何自定义一个启动器,同时对于自动配置类的执行顺序做一个详细的分析。

如何自定义一个starter?

启动器的核心其实就是自动配置类,在自动配置源码分析的章节已经介绍过,AutoConfigurationImportSelector是从spring.factories中加载自动配置类,因此只需要将自定义的自动配置类设置在该文件中即可。

读过源码的朋友都知道自动配置类常用的一些注解,总结如下:

  1. @Configuration: 该注解标志这是一个配置类,「自动配置类可以不加该注解」
  2. @EnableConfigurationProperties:这个配置也是经常使用了,使得指定的属性配置生效。一般自动配置类都需要从全局属性配置中读取自定义的配置,这就是一个开关。
  3. @ConditionalOnXxxx:该注解是自动配置类的核心了,自动配置类既要启动时自动配置,又要保证用户用户自定义
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值