На каком уровне необходимо объявлять компоненты с помощью аннотации @Bean в Spring?

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

Короткий ответ

Что ответить на собеседовании

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

Подробный разбор

Ответ с пояснениями

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

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

Пример:

@Configuration
public class AppConfig {

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

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

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее