В чем разница между @SpringBootConfiguration и @Configuration? - PullRequest
0 голосов
/ 06 июля 2019

В чем разница между @SpringBootConfiguration и @Configuration?Я не могу найти подробности об этом.

Ответы [ 2 ]

2 голосов
/ 06 июля 2019

SpringBootConfiguration

Указывает, что класс предоставляет приложение Spring Boot @ Configuration .Может использоваться как альтернатива стандартной аннотации Spring @ Configuration , так что конфигурация может быть найдена автоматически (например, в тестах).Приложение должно включать в себя только одно @ SpringBootConfiguration , и большинство идиоматических приложений Spring Boot наследуют его от @SpringBootApplication.

Источник

Документация по SpringBootConfiguration

1 голос
/ 06 июля 2019

Согласно 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 {
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...