Sobes.tech
Назад к вопросам
Junior — Middle
64

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

Компании, где спрашивали
IT OneIT One

Ответ от нейросети

sobes.tech AI

В 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).