Junior — Middle
83
Spring всегда распознает классы, аннотированные с помощью @Configuration?
Ответ от нейросети
sobes.tech AI
Spring не всегда автоматически распознает классы, аннотированные с помощью @Configuration. Для того чтобы Spring обнаружил такие классы и зарегистрировал их как бины конфигурации, необходимо:
- Убедиться, что класс находится в пакете, который сканируется компонентным сканером Spring (например, указан в
@ComponentScan). - Если используется Java-конфигурация, класс с
@Configurationдолжен быть явно указан в контексте или находиться в сканируемом пакете.
Если класс с @Configuration не находится в сканируемом пакете и не зарегистрирован явно, Spring его не распознает. Также важно, чтобы класс был публичным и не был абстрактным.
Пример:
@Configuration
public class AppConfig {
@Bean
public MyService myService() {
return new MyServiceImpl();
}
}
Чтобы этот класс был распознан, он должен быть либо в пакете, указанном в @ComponentScan, либо зарегистрирован вручную в контексте.