首页 > 解决方案 > @EnableAutoConfiguration 与 @SpringBootConfiguration 之间的区别(@AutoConfigurationPackage 与 @Configuration)

问题描述

我知道当我们注释一个java类时,@SpringBootApplication我们将有内部注释@EnableAutoConfiguration@SpringBootConfiguration但我很困惑它们之间有什么区别。

我对弹簧靴非常陌生,有人可以详细说明一下。

标签: springspring-bootspring-annotations

解决方案


公共@interface SpringBootConfiguration

表示一个类提供了 Spring Boot 应用程序@Configuration。可以用作 Spring 标准 @Configuration 注释的替代品,以便可以自动找到配置(例如在测试中)。

来自:SpringBootConfiguration 文档

公共@interface EnableAutoConfiguration

启用 Spring Application Context 的自动配置,尝试猜测和配置您可能需要的 bean。

来自:EnableAutoConfiguration 文档

那么区别是什么呢?

@SpringBootConfiguration注解告诉我们一个类是一个配置类,@EnableAutoConfiguration 会根据其包含的 jar 文件自动配置 Spring 应用。


推荐阅读