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