Declare an interface or a repository and let Spring provide implementation of those at runtime. Spring use JdkDynamicAopProxy aka interface proxy, creates a proxy bean of Type SimpleJpaRepository at runtime by default, that is advised by your custom repository as well as other Spring classes.
This is generated at start up. How do I know that?
Also called instant repository