嗯,关于Spring Data Repository确实已经有了一个很好的答案,具体描述如下:Spring Data Repository是如何实现的?。但是,在阅读您的问题时,我相信@Autowired
工作方式会有些混乱。让我尝试给出事件的高级顺序:
您将依赖项放在EmployeeRepository
代码中:
@Autowired
private EmployeeRepository employeeRepository;
通过执行步骤(1),您可以指示spring容器在其 *
因此,现在出现了一个逻辑问题:“ UserRepository
如果我们没有明确定义该类,那么在spring容器的启动过程中,该类将在spring容器中实现的?”
那是Oliver的详细回答。简而言之,发生的事情是在容器引导过程中,Spring Data会扫描所有存储库接口。创建实现这些接口的新类(代理);将这些类的实例放入spring容器,该容器允许@Autowired
查找和注入它们,就像对容器中其他任何Spring Bean一样。
同样,这些过程仅在您设置了Spring Data并正确配置后才起作用,否则实际上注入将失败。
希望这可以帮助。