我是 spring 框架的新手。我在谷歌上搜索了很多 spring mvc 网站,我注意到为每个服务和 dao 创建了接口(interface),但我有一些疑问如下:
1) 为每个服务和 dao 创建接口(interface)的主要目的是什么?
2) spring mvc 的项目结构应该如何?
最佳答案
- 界面的用途是什么
简答:依赖注入(inject)
长答案:你看,我们不希望在我们的应用程序中有具体的实现和强耦合。接口(interface)服务于这个目的,有或没有 Spring。 Spring 是一个在很大程度上利用了这一点的框架。使用接口(interface),您可以通过定义描述参数和返回类型的契约(接口(interface)方法)来编写单个逻辑的多个实现,但您没有指定它是如何完成的。这为您编写执行此操作的不同 Spring bean(Impl 类)提供了很大的灵 active 。 List
在 Java 中是一个接口(interface),然后你有像 LinkedList
和 ArrayList
- Spring MVC 项目应该如何构建
简答:随心所欲
长答案:您是使用 Spring MVC 作为 API 服务器还是提供像 JSP/Thymeleaf 这样的 View ?如果我正在编写一个 API,我将拥有 Controllers(入口点和 spring 特定功能)、Facades(没有框架类的纯 Java 业务逻辑)和 DAO/Services(取决于数据是来自数据库还是来自第三方 API,可能两者都有) 最低限度。对于 MVC,我会有几乎相似的设置,但根据您与 API 提供商的协议(protocol),我可能会放弃服务层并更多地关注 Javascript 方面。在这个时代,我建议不要使用 JSP/Freemarker。与使用任何语言的 React + API 服务器相比,它们的开发速度要慢得多。
关于java - spring 框架中 Service 和 DAO 接口(interface)的主要目的是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52669760/