Sobes.tech
Back to questions
Junior — Middle
65

Как осуществляется внедрение бинов в контексте Spring Framework?

Companies where asked
СБЕР КорпусСБЕР Корпус

Answer from AI

sobes.tech AI

В Spring Framework внедрение бинов (dependency injection) осуществляется с помощью контейнера Spring, который управляет жизненным циклом объектов и их зависимостями.

Основные способы внедрения бинов:

  1. Через аннотации:

    • @Component, @Service, @Repository — для обозначения классов как бинов.
    • @Autowired — для автоматического внедрения зависимостей по типу.
  2. Через XML-конфигурацию (устаревший способ, но иногда используется):

    • Определение бинов и их зависимостей в XML-файле.
  3. Через Java-конфигурацию:

    • Использование класса с аннотацией @Configuration и методов с @Bean для создания и настройки бинов.

Пример внедрения через аннотации:

@Component
public class UserService {
    private final UserRepository userRepository;

    @Autowired
    public UserService(UserRepository userRepository) {
        this.userRepository = userRepository;
    }

    // методы
}

Spring автоматически создаст экземпляры бинов и внедрит зависимости, основываясь на конфигурации и аннотациях.