Назад к вопросам
СБЕР
Junior — Middle
66
Какой эффект окажет использование аннотации @Bean на метод внутри класса для экземпляра этого класса?
Компании, где спрашивали
Ответ от нейросети
sobes.tech AI
Аннотация @Bean в Spring Framework используется для определения метода, который создает и возвращает объект, управляемый Spring контейнером как bean.
Если метод с @Bean находится внутри класса, который сам является компонентом Spring (например, помечен @Configuration), то при создании экземпляра этого класса Spring вызовет этот метод и зарегистрирует возвращаемый объект как bean в контексте.
Эффекты использования @Bean на методе:
- Метод вызывается один раз (если scope не изменён), и результат кэшируется как singleton bean.
- Позволяет явно конфигурировать и создавать бины, которые не могут быть автоматически обнаружены через сканирование.
- Позволяет управлять зависимостями и конфигурацией через Java-код.
Пример:
@Configuration
public class AppConfig {
@Bean
public MyService myService() {
return new MyServiceImpl();
}
}
В этом примере myService будет зарегистрирован как bean, и его можно будет внедрять в другие компоненты.