美文网首页我爱编程
Java Web 项目 Service、DAO 层为什么要用接口

Java Web 项目 Service、DAO 层为什么要用接口

作者: 欧阳蓝缺 | 来源:发表于2018-03-31 19:17 被阅读1017次

最近在开始学习Spring Boot,打算转后端开发。在学习过程中发现很多项目都是xxController<-xxService(接口)<-xxServiceImpl这种结构,而大部分情况针对xxService(接口)只有一种实现。

于是产生的疑问,为什么需要xxService(接口)xxController中直接使用xxServiceImpl不就好了吗?

网上看了一圈,比较认可这个看法

java web 中dao 层和service层都使用接口,是否是为使用接口而使用接口? - 小猪的回答 - 知乎
https://www.zhihu.com/question/36021012/answer/116954747

另外我对 Java Web 项目使用接口的理解:

  1. 如果使用 Spring,尽量使用面向接口编程,才能发挥 Spring IOC 作用,不用关心具体实现对象的生命周期,好处是使用方便和内存占用优化。
  2. 大项复杂的项目需要,及一个接口后面可能对应着多个不同的实现。
  3. 多人分层合作,有人负责 Controller 层,有人负责 Service 层,有人负责 DAO 层,大家可以先定义好接口然后就开始各写各的代码了,互不影响。
  4. 控制暴露给外部的内容。接口只会定义公开的部分,而如果直接使用实现对象,会看到实现对象中的私有部分,这部分可能有些是重要的涉及到安全方面的信息。

结论

我应该会按上面知乎回答的方式,根据项目、团队和管理情况来决定使用与否。

相关文章

  • Java Web 项目 Service、DAO 层为什么要用接口

    最近在开始学习Spring Boot,打算转后端开发。在学习过程中发现很多项目都是xxController<-xx...

  • 搭建一个SSM环境

    项目结构 实体类TbMsg DAO层接口 DAO层映射文件 Service层接口 Service层实现类 Cont...

  • 谈谈架构

    java web开发中,传统的系统架构通常为三层架构:web层,service层,dao层。 web层负责页面数据...

  • Spring Boot 2.X(十一):全局异常处理

    前言 在 Java Web 系统开发中,不管是 Controller 层、Service 层还是 Dao 层,都有...

  • 为什么dao层和service层要用接口?

    DAO接口为每个DAO声明接口的好处在于: 可以在尚未实现具体DAO的时候编写上层代码,如Service里对DAO...

  • CRM系统

    客户 dao层 service层 action层 applicationContext.xml web.xml

  • Spring

    1.Spring 负责管理对象中的所有对象,可以看做项目中对象的管家;贯穿web层 service层 dao层。 ...

  • web开发之EStore网上购物平台

    项目心得 在这个项目中我先使用的是三层架构,分别是dao层、service层、和web层。然后使用的是hibern...

  • 分页插件IPage

    控制层Controller 接口层IService 服务层Service 数据持久层Dao层 XML文件

  • JavaWeb Dao层架构设计

    Java Web Dao层设计 UML设计图 实体类 BaseDao接口 BaseDaoImpl代码,实现Base...

网友评论

    本文标题:Java Web 项目 Service、DAO 层为什么要用接口

    本文链接:https://www.haomeiwen.com/subject/tifncftx.html