У меня есть несколько классов Spring @Configuration
, которые определяют бины.Основной класс, в котором я запускаю приложение, имеет @SpringBootApplication(scanBasePackageClasses = BasePackage.class)
.
Мой вопрос, каков порядок сканирования этих компонентов и создания бинов?
@SpringBootApplication(scanBasePackageClasses = BasePackage.class)
public class MyApplication {
public static void main(final String[] args) {
SpringApplication.run(MyApplication.class, args);
}
}
И конфигурации
@Configuration
class Config1{
// defines beans
}
@Configuration
class Config2{
// defines beans
}
Другая зависимость maven также имеет Config3
@Configuration
class Config3{
// defines beans
}
Я пытался найти документацию, но не нашел, в каком порядке эти компоненты сканируются и инициализируются.
https://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/context/annotation/ComponentScan.html
https://docs.spring.io/spring-boot/docs/current/api/org/springframework/boot/autoconfigure/condition/ConditionalOnMissingBean.html
https://docs.spring.io/spring-boot/docs/current/api/org/springframework/boot/autoconfigure/EnableAutoConfiguration.html
Обновление
Я задал этот вопрос, потому что у меня есть бин с @ConditionalOnMissingBean и несколько конфигураций, которыеопределить это.Где находится в официальной документации заявление, в каком порядке @Configuration
классы отсканированы.