我是Spring框架的新手。我已经在Google搜索了许多关于Spring MVC的网站,并且注意到为每个服务和DAO创建了界面,但是我有一些查询,如下所示:
1)为每个服务和域创建接口的主要目的是什么?
2)spring mvc的项目结构应该如何?
答案 0 :(得分:1)
简短答案:依赖项注入
长答案:您知道,我们不希望在我们的应用程序中实现具体实现和强大耦合。无论有没有Spring,接口都可以达到这个目的。 Spring是一个充分利用这一框架的框架。使用接口,您可以通过定义描述参数和返回类型的协定(接口方法)来编写单个逻辑的多种实现,但是您没有指定如何完成。这为您编写不同的Spring Bean(Impl类)提供了很大的灵活性。 Java中的List
是一个接口,那么您就有LinkedList
和ArrayList
简短的回答:随便你喜欢
长答案:您是将Spring MVC用作API服务器还是服务于JSP / Thymeleaf之类的视图?如果我正在编写API,则将具有控制器(入口点和特定于Spring的功能),Facades(业务逻辑,即纯Java,没有框架类)和DAO / Services(取决于数据是来自数据库还是第三方API,也许两者都有)。对于MVC,我将进行几乎类似的设置,但是根据您与API提供商的协议,我可能会放弃服务层,而将更多精力放在Javascript方面。在这个时代,我建议不要使用JSP / Freemarker。与使用任何语言的React + API服务器相比,它们的开发速度要慢得多。