Встречается на собеседованиях • сегодня
Как происходит инъекция бина по приватному полю
В Spring инъекция бина в приватное поле возможна благодаря рефлексии. Spring использует Field.setAccessible(true) для обхода ограничений доступа и устанавливает значение поля напрямую.
Пример:
java
@Component
public class MyService {
@Autowired
private MyRepository repository; // Инъекция в приватное поле
}Как это работает:
- Spring находит все поля с аннотациями (
@Autowired,@Injectи т.д.). - Для приватных полей вызывается
field.setAccessible(true). - Через
field.set(instance, bean)подставляется зависимость.
Важно:
- Не рекомендуется использовать инъекцию в приватные поля (лучше через конструктор или сеттер).
- Может нарушать инкапсуляцию.
- Зависит от рефлексии, что может вызвать проблемы в модульных системах (например, Java 9+).

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы