@SpringBootConfiguration
和@Configuration
有什么区别?我找不到很多细节。
答案 0 :(得分:2)
SpringBootConfiguration
表示一个类提供Spring Boot应用程序 @Configuration 。可以用作Spring标准 @Configuration 注释的替代方法,以便可以自动找到配置(例如在测试中)。 应用程序只能包含一个 @SpringBootConfiguration ,大多数惯用的Spring Boot应用程序都将从 @SpringBootApplication 继承它。
来源
答案 1 :(得分:1)
根据Spring Boot文档(下面的层次结构),我们可以说@Configuration
是@SpringBootConfiguration
的一部分,而它们最终具有@SpringBootApplication
@SpringBootApplication
-------> @SpringBootConfiguration
-------> @Configuration
@SpringBootApplication
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 {
...}
@SpringBootConfiguration
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Configuration
public @interface SpringBootConfiguration {
}
@Configuration
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Component
public @interface Configuration {
}
答案 2 :(得分:1)
根据Spring文档,
@SpringBootConfiguration
只是一个 替代Spring标准的@Configuration
注释。唯一的 两者的区别在于@SpringBootConfiguration
允许 自动找到的配置。这在编写测试时特别有用。
https://www.javacodegeeks.com/2019/09/springbootconfiguration-annotation-spring-boot.html