Каким образом осуществляется регистрация класса в контейнере Spring для внедрения зависимостей?

В Spring регистрация класса в контейнере для внедрения зависимостей обычно осуществляется с помощью аннотаций. Основные способы:

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

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

В Spring регистрация класса в контейнере для внедрения зависимостей обычно осуществляется с помощью аннотаций. Основные способы:

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

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

В Spring регистрация класса в контейнере для внедрения зависимостей обычно осуществляется с помощью аннотаций. Основные способы:

  • Аннотация @Component (и её специализированные варианты @Service, @Repository, @Controller) над классом — Spring автоматически обнаружит такой класс при сканировании пакетов (component scanning) и зарегистрирует его как bean.
  • Использование конфигурационного класса с аннотацией @Configuration и метода с аннотацией @Bean, который возвращает экземпляр нужного класса.

Пример с @Component:

@Component
public class MyService {
    // логика сервиса
}

Пример с @Bean:

@Configuration
public class AppConfig {
    @Bean
    public MyService myService() {
        return new MyService();
    }
}

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

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

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

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

Подробнее