Встречается на собеседованиях • сегодня

Как вручную проинициализировать класс для использования аннотаций

Для ручной инициализации класса с аннотациями (например, Spring или JPA) нужно создать экземпляр и обработать аннотации через рефлексию. Пример с Spring's @Autowired:

java
public class MyService {
    @Autowired
    private Dependency dependency;
}

// Инициализация вручную
MyService service = new MyService();
Dependency dep = new Dependency();

// Через рефлексию устанавливаем поле с аннотацией @Autowired
for (Field field : service.getClass().getDeclaredFields()) {
if (field.isAnnotationPresent(Autowired.class)) {
field.setAccessible(true);
field.set(service, dep);
}
}

text

Для JPA/Hibernate потребуется `EntityManager` и `@PersistenceContext`. Аннотации сами по себе ничего не делают - нужна обработка фреймворком или кастомным кодом.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы