Какие способы внедрения зависимостей (Dependency Injection) существуют в Spring?
Основные типы внедрения зависимостей (Dependency Injection) в проекте:
Читать ответПодготовка к интервью
21 вопрос с ответами по теме «Бины и внедрение зависимостей Spring»
Что проверяют на интервью
Подборка прослеживает путь Spring-бина от регистрации до завершения жизненного цикла. Вопросы охватывают выбор зависимости среди нескольких кандидатов, внедрение коллекций и внешних классов, области видимости, конструкторное внедрение и ошибки конфигурации.
Каталог
Основные типы внедрения зависимостей (Dependency Injection) в проекте:
Читать ответЧтобы предотвратить сбой программы при отсутствии определенного Bean в контексте Spring, можно использовать аннотацию @Autowired с параметром required = false.
Читать ответНет, не обязательно использовать Spring Bean в каждом компоненте приложения.
Читать ответДа, метод, аннотированный @PostConstruct, будет вызван у Spring Bean с прототипным скоупом.
Читать ответДля интеграции внешней библиотеки или JAR-файла в Spring и регистрации её классов как бинов без использования аннотаций можно использовать XML-конфигурацию или Java-конфигурацию с явным объявлением бинов.
Читать ответОсновные проблемы выбранной структуры решения связаны с неправильной конфигурацией и управлением зависимостями в Spring:
Читать ответАннотации @Autowired (из Spring) и @Inject (из стандарта JSR-330) используются для внедрения зависимостей (Dependency Injection) в Spring-приложениях.
Читать ответNullPointerException при использовании внедрения зависимостей в Spring без конструктора обычно возникает из-за того, что поля, помеченные аннотацией @Autowired, не были корректно проинициализированы. Основные причины:
Читать ответАннотация @PreDestroy в Spring применяется для методов, которые должны быть вызваны перед уничтожением бина.
Читать ответДа, в Spring можно внедрить коллекцию Bean с помощью Dependency Injection. Spring автоматически собирает все бины определённого типа в коллекцию (например, List, Set или Map) и внедряет её в нужный компонент.
Читать ответВ Spring аннотации @Qualifier и @Primary используются для разрешения неоднозначностей при внедрении зависимостей, когда в контексте существует несколько бинов одного типа.
Читать ответВ Spring существует несколько способов настройки и расширения жизненного цикла бинов:
Читать ответ