专栏首页Java全栈Spirng项目分层需要接口层吗?

Spirng项目分层需要接口层吗?

很多小伙伴都做过Spring项目(基本都是SpringBoot项目),在项目分层上,有些项目带了接口层,有些项目没有,需要接口层吗?

分享一位同学的疑问:

接口层原因

其实早期Spring实现注入、AOP等,都是JDK自带的动态代理,JDK动态代理要求必须使用接口,所以早期的项目都是有各种接口,很多项目都一直延用,很多老程序员也都养成了习惯。现在Spring集成了cglib,不需要接口了也能实现注入,AOP了。

还有另一个原因,就是程序员会觉得有了接口层,项目多少能用点设计模式,看起来高大上一点。

是否有必要?

个人觉得没必要,作为业务逻辑来说,面向接口编程费力不讨好。我做过的很多项目,都没加接口层,也没啥问题。

接口一般配合上设计模式,写一些通用逻辑很好用,写业务功能没必要。

当然,用接口也没问题

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 讨论:Service层需要接口吗?

    前几天刷头条又刷到了「Service层和Dao层真的有必要每个类都加上接口吗?」这个问题,之前简单回答了一波,给出的观点是「看情况」

    后端码匠
  • RobotFrameWork接口项目分层及通用控制方式

    上一篇文章介绍了在设计接口用例之前应遵守的设计规范,详见《RobotFramework接口设计规范》,当然读者公司的内部规范也不一定非得完全遵循笔者所提...

    测试开发技术
  • 深入理解-Spring-之源码剖析IOC(一)

    作为Java程序员,Spirng我们再熟悉不过,可以说比自己的女朋友还要亲密,每天都会和他在一起,然而我们真的了解spring吗?

    Bug开发工程师
  • 深入理解-Spring-之源码剖析IOC(一)

    作为Java程序员,Spirng我们再熟悉不过,可以说比自己的女朋友还要亲密,每天都会和他在一起,然而我们真的了解spring吗?

    用户5224393
  • Spring Cloud 2020.0.0正式发布,再见了Netflix

    北京时间2020-12-22深夜,Spring Cloud 2020.0.0版本正式发布。2020.0.0是第一个使用新版本方案的Spring Cloud发行版...

    YourBatman
  • Java Spring开发生态概览

    最近机缘巧合,跟踪了一遍Java生态的Spring相关的开发套件,微服务开发方案,主要包括Spring,Spring Boot,Spring Cloud,Dub...

    needrunning
  • Spring Cloud 2020.0.0正式发布,再见了Netflix

    北京时间2020-12-22深夜,Spring Cloud 2020.0.0版本正式发布。2020.0.0是第一个使用新版本方案的Spring Cloud发行版...

    YourBatman
  • 【1】JAVA---地址App小软件(AddressApp.class)(初步接触项目开发的分层思想)(表现层)

    这个是表现层的main方法。 实现的地址信息有: 姓名,性别,年龄,电话,地址。 实现的功能有: 增加地址; 删除地址; 修改地址; ...

    谙忆
  • Spring Cloud在国内中小型公司能用起来吗?

    今天吃完饭休息的时候瞎逛知乎,突然看到这个一个问题《Spring Cloud在国内中小型公司能用起来吗?》,吸引了我的注意。仔细的看了题主的问题,发现这是一个好...

    纯洁的微笑
  • 1. 揭秘Spring类型转换 - 框架设计的基石

    Spring Framework是一个现代化的框架,俨然已发展成为Java开发的基石。随着高度封装、高度智能化的Spring Boot的普及,发现团队内越来越少...

    YourBatman
  • 3. 站在使用层面,Bean Validation这些标准接口你需要烂熟于胸

    通过前两篇文章的叙述,相信能勾起你对Bean Validation的兴趣。那么本文就站在一个使用者的角度来看,要使用Bean Validation完成校验的话我...

    YourBatman
  • 3. 站在使用层面,Bean Validation这些标准接口你需要烂熟于胸

    通过前两篇文章的叙述,相信能勾起你对Bean Validation的兴趣。那么本文就站在一个使用者的角度来看,要使用Bean Validation完成校验的话我...

    YourBatman
  • 我要18K,能过吗?

    介绍了最近的这个项目自己所负责的几个核心功能,重点讲了其中一个技术的选型和实现等。然而他并没有接着问我项目上的问题。

    夕梦
  • 【程序源代码】Springboot WEB 快速开发框架2.0版(开源版)

    今天给大家带来一套《Springboot WEB 快速开发框架2.0版》开发源码和框架;经过项目团队一致同意,项目已上传gitee开源中国代码仓库。现在已将此项...

    程序源代码
  • JPA、Hibernate、Spring data jpa之间的关系,终于明白了

    全称Java Persistence API,可以通过注解或者XML描述【对象-关系表】之间的映射关系,并将实体对象持久化到数据库中。

    java思维导图
  • JPA、Hibernate、Spring data jpa之间的关系,终于明白了

    全称Java Persistence API,可以通过注解或者XML描述【对象-关系表】之间的映射关系,并将实体对象持久化到数据库中。

    hbbliyong
  • 徒手撸框架--实现IoC

    Spring 作为 J2ee 开发事实上的标准,是每个Java开发人员都需要了解的框架。但是Spring 的 IoC 和 Aop 的特性,对于初级的Java开发...

    技术zhai
  • Spring IoC 和 AOP 的理解

    IoC(Inverse of Control,即控制反转)是一种设计思想,就是将原本在程序中手动创建对象的控制权,交由 Spring 框架来管理。 IoC 在其...

    happyJared
  • Spring-Spring4.X 概述

    Spring 是模块化的,允许你挑选和选择适用于你的模块,不必要把剩余部分也引入。

    小小工匠

扫码关注云+社区

领取腾讯云代金券