Каким образом Spring автоматически регистрирует компонент, используя аннотацию @Bean и название класса?
Ответ от нейросети
sobes.tech AI
В Spring аннотация @Bean используется внутри класса, помеченного как конфигурационный (@Configuration), для определения метода, который возвращает объект, управляемый Spring-контейнером как bean. При запуске приложения Spring сканирует такие методы и регистрирует возвращаемые ими объекты в контексте.
Название bean по умолчанию совпадает с именем метода, помеченного @Bean. Если имя не указано явно, Spring использует имя метода как идентификатор компонента.
Пример:
@Configuration
public class AppConfig {
@Bean
public MyService myService() {
return new MyServiceImpl();
}
}
Здесь Spring создаст bean с именем "myService" типа MyServiceImpl.
Таким образом, автоматическая регистрация происходит через сканирование конфигурационных классов и регистрацию объектов, возвращаемых методами с @Bean, где имя bean совпадает с именем метода.