3 回答
TA贡献1911条经验 获得超7个赞
根据 Spring Boot Document(下面的层次结构),我们可以说这@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 {
}
@配置
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Component
public @interface Configuration {
}
TA贡献1909条经验 获得超7个赞
SpringBoot配置
表示一个类提供了 Spring Boot 应用@Configuration。可以用作 Spring 标准@Configuration注释的替代方法,以便可以自动找到配置(例如在测试中)。应用程序应该只包含一个@SpringBootConfiguration并且大多数惯用的 Spring Boot 应用程序将从@SpringBootApplication继承它。
来源
TA贡献1841条经验 获得超3个赞
根据 Spring 文档,
@SpringBootConfiguration
它只是 Spring 标准@Configuration
注释的替代方法。两者之间的唯一区别是@SpringBootConfiguration
允许自动找到配置。这在编写测试时特别有用。
https://www.javacodegeeks.com/2019/09/springbootconfiguration-annotation-spring-boot.html
添加回答
举报