@SpringBootConfiguration和@Configuration有什么区别?我找不到太多细节。
@SpringBootConfiguration
@Configuration
uhry853o1#
根据Sping Boot 文档(下面的层次结构),我们可以说@Configuration是@SpringBootConfiguration的一部分,最终具有@SpringBootApplication
@SpringBootApplication
@SpringBootApplication -------> @SpringBootConfiguration -------> @Configuration
Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) @Documented @Inherited @SpringBootConfiguration @EnableAutoConfiguration @ComponentScan(excludeFilters = { @Filter(type = FilterType.CUSTOM, classes = TypeExcludeFilter.class), @Filter(type = FilterType.CUSTOM, classes = AutoConfigurationExcludeFilter.class) }) public @interface SpringBootApplication { ...}
@Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) @Documented @Configuration public @interface SpringBootConfiguration { }
@Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) @Documented @Component public @interface Configuration { }
gr8qqesn2#
Spring启动配置
指示类提供Sping Boot 应用程序**@Configuration**。可用作Spring的标准**@Configuration注解的替代方法,以便可以自动查找配置(例如在测试中)。应用程序应始终只包含一个@SpringBootConfiguration**,并且大多数惯用的Spring Boot应用程序将从**@SpringBootApplication**继承它。
资料来源
Documentation on SpringBootConfiguration
mdfafbf13#
根据Spring文档,@SpringBootConfiguration只是Spring标准@Configuration注解的一种替代,两者之间的唯一区别是@SpringBootConfiguration允许自动查找配置。这在编写测试时特别有用。https://www.javacodegeeks.com/2019/09/springbootconfiguration-annotation-spring-boot.html
3条答案
按热度按时间uhry853o1#
根据Sping Boot 文档(下面的层次结构),我们可以说
@Configuration
是@SpringBootConfiguration
的一部分,最终具有@SpringBootApplication
gr8qqesn2#
Spring启动配置
指示类提供Sping Boot 应用程序**@Configuration**。可用作Spring的标准**@Configuration注解的替代方法,以便可以自动查找配置(例如在测试中)。应用程序应始终只包含一个@SpringBootConfiguration**,并且大多数惯用的Spring Boot应用程序将从**@SpringBootApplication**继承它。
资料来源
Documentation on SpringBootConfiguration
mdfafbf13#
根据Spring文档,
@SpringBootConfiguration
只是Spring标准@Configuration
注解的一种替代,两者之间的唯一区别是@SpringBootConfiguration
允许自动查找配置。这在编写测试时特别有用。
https://www.javacodegeeks.com/2019/09/springbootconfiguration-annotation-spring-boot.html