Sobes.tech
Back to questions
Junior — Middle
53

Какова роль аннотации Bean в фреймворке Spring и как она используется при создании компонентов?

Companies where asked
АЙ-ТЕКОАЙ-ТЕКО
СБЕРСБЕР

Answer from AI

sobes.tech AI

В Spring аннотация @Bean используется для явного определения компонента (бина) в конфигурационном классе. Она сообщает Spring, что метод, помеченный этой аннотацией, возвращает объект, который должен быть зарегистрирован в контексте приложения как Spring Bean.

Это полезно, когда нужно создать и настроить объект вручную, а не полагаться на автоматическое сканирование компонентов (@Component).

Пример использования:

@Configuration
public class AppConfig {

    @Bean
    public MyService myService() {
        return new MyServiceImpl();
    }
}

Здесь метод myService() создает и возвращает экземпляр MyServiceImpl, который Spring зарегистрирует как бин с именем myService. Такой бин можно потом внедрять через @Autowired в другие компоненты.

Таким образом, @Bean позволяет гибко управлять созданием и конфигурацией компонентов в Spring.