Spring junior

Как Spring создаёт реализацию репозитория, если ты только написал интерфейс?

Ответ

Через прокси, который генерируется в рантайме. Имя метода (findByEmail) парсится и превращается в SQL/JPQL.

Разбор: Spring Data при старте создаёт динамический прокси (через JDK Proxy / CGLIB) поверх SimpleJpaRepository, а имена методов вроде findByEmail парсит механизмом derived queries и превращает в JPQL/SQL в рантайме. Ловушка: соглашение про суффикс Impl относится только к кастомным фрагментам репозитория, а не к основной реализации; кодогенерации на этапе компиляции тут нет, и производные запросы работают без @Query.

Хочешь так же по своей компании — с вопросами по грейдам и задачами? Закажи гайд или забери свежее в Telegram.

Заказать гайд Пройти тест
новые гайды и свежие вопросы с собесов — первыми в Telegram Смотреть гайды Подписаться