美文网首页Java学习笔记
【SpringBoot】SpringBoot的自动配置

【SpringBoot】SpringBoot的自动配置

作者: 嘟null | 来源:发表于2022-11-18 00:01 被阅读0次

    ⾃动配置

    • 基于添加的 JAR 依赖⾃动对 Spring Boot 应⽤程序进⾏配置
    • SpringBoot自动配置相关的代码都在spring-boot-autoconfiguration包里面。

    开启⾃动配置

    • @EnableAutoConfiguration 开启自动配置

      • exclude = Class[] 排除一些不需要的自动配置
    • @SpringBootApplication → 这个注解上带有@EnableAutoConfiguration

    ⾃动配置的实现原理

    @EnableAutoConfiguration

    1. @EnableAutoConfiguration注解定义上会@Import({AutoConfigurationImportSelector.class})
    2. AutoConfigurationImportSelector#selectImports(...)会调用到getAutoConfigurationEntry(...)方法进而调用getCandidateConfigurations(...)方法
    3. 最后会加载 image
    4. META-INF/spring.factories
      • org.springframework.boot.autoconfigure.EnableAutoConfiguration image

    条件注解

    • @Conditional
    • @ConditionalOnClass
    • @ConditionalOnBean
    • @ConditionalOnMissingBean
    • @ConditionalOnProperty
    • ……

    了解⾃动配置的情况

    观察⾃动配置的判断结果

    • 在命令行上加上 --debug image

    ConditionEvaluationReportLoggingListener进行输出

    • Positive matches
    • Negative matches
    • Exclusions
    • Unconditional classes

    相关文章

      网友评论

        本文标题:【SpringBoot】SpringBoot的自动配置

        本文链接:https://www.haomeiwen.com/subject/qwdmxdtx.html