When are repository interfaces (jpaRepository) beans created?
<p>Even though my interface MonRepo (which extends JpaRepository) is not annotated with any annotation that tells spring to create a bean for this class (eg. Service, Controller, Component etc.). How is the bean for this class created. I know for sure that a bean is created because I have autowired monRepo in another class and it is working perfectly fine.</p>

<p>MonRepo</p>

<pre><code>public interface MonRepo extends MongoRepository&lt;Mon, Long&gt; {
    public List&lt;Mon&gt; findAllBymId(@Param("mId") Long mId);
}
</code></pre>

<p>Class in which monRepo is autowired</p>

<pre><code>@Component("iRuleEngine")
public class RuleEngine implements IRuleEngine {

    @Autowired
    private MonRepo monRepo;
.
.
.
}
</code></pre>

<p>I have not used the enableJpaRepository annotation anywhere but my class.
MonRepo does lie in my component scan scope.</p>