java中DAO层、Service层、Controller层的区别
DAO层:
DAO层叫数据访问层,全称为data access object,属于一种比较底层,比较基础的操作,具体到对于某个表的增删改查,也就是说某个DAO一定是和数据库的某一张表一一对应的,其中封装了增删改查基本操作,建议DAO只做原子操作,增删改查。
Service层:
Service层叫服务层,被称为服务,粗略的理解就是对一个或多个DAO进行的再次封装,封装成一个服务,所以这里也就不会是一个原子操作了,需要事物控制。
Controler层:
Controler负责请求转发,接受页面过来的参数,传给Service处理,接到返回值,再传给页面。
总结:
个人理解DAO面向表,Service面向业务。后端开发时先数据库设计出所有表,然后对每一张表设计出DAO层,然后根据具体的业务逻辑进一步封装DAO层成一个Service层,对外提供成一个服务。
java中DAO层、Service层、Controller层的区别相关推荐
- Java中 Dao,Service,Controller,Util,Model 是什么意思,为什么划分?
来源:zhihu.com/question/58410621/answer/156868800 适合受众 :2年以下的初级程序员和0基础的门外汉 内容大纲: 1.为什么需要一个好的代码结构 2.什么样 ...
- JavaBean、MVC设计模式与Java中Dao、Service、Controll三层体系
文章目录 一.JavaBean JavaBean实际就是一个普通的Java类,为了规范开发,要求JavaBean具有如下规范: ① 具有一个公共的.无参的构造方法: ② 类的属性私有,且必须提供公共的 ...
- 【Spring】JavaBean、MVC软件设计模式与Java中Dao、Service、Controll三层体系
文章目录 一.JavaBean 二.Java三层体系 1.Dao层 2.Service层 3.Controller层 三者之间的关系 三.MVC设计模式 1.模型 2.视图 3.控制器 三者之间的关系 ...
- java中model接口与实现类_关于java中dao,model,service,impl,util的理解
dao 与数据库的操作,增删改查等方法 model 一般都是javabean对象,例如与数据库的某个表相关联. service 供外部调用,等于对dao,model等进行了包装. impl 定义的接口 ...
- 项目中Dao,Service,Controller,Util,Model是什么意思,为什么划分?
适合受众:2年以下的初级程序员和0基础的门外汉 内容大纲: 1.为什么需要一个好的代码结构 2.什么样才是一个好的结构 3.每一个分类代表什么含义 4.是否适用于WEB,Android和IOS? 5. ...
- 中service层的作用_浅析Java中dto、dao、service、controller的四层结构
目前我所在的项目组采用的是SpringBoot框架,前端使用BootStrap+jQuery. SpringBoot是BS开发框架之一,不用单独开启tomcat服务器,目前比较流行,一般开发大型项目时 ...
- 框架:DAO,Service,Controller,View层之间的逻辑关系
Dao层: Dao层是数据访问层,负责与数据库进行联络的一些任务封装在此,Dao层的设计首先是设计Dao接口,然后在Spring的配置文件中定义此接口的实现类,最后就可以通过模块调用此接口来进行数据业 ...
- 实验15:通过注解分别创建Dao、Service、Controller★
实验15:通过注解分别创建Dao.Service.Controller(控制器:控制网站的跳转逻辑Servlet)★ 通过给bean上添加某些注解,可以快速的将bean加入到ioc容器中 某个类上添加 ...
- 代码结构中Dao,Service,Controller,Util,Model是什么意思,为什么划分?
很多刚入行的小白都不太清楚代码结构中Dao,Service,Controller,Util,Model是什么意思,为什么划分?今天我们一起来详细了解一下!本文内容较为简单,只是通俗化的讲解一些简单的概 ...
- Java中,一切皆是对象——java中的对象类型与基本数据类型的区别
起因:取一个list给另一个list赋值,然后在另一个list中取出进行修改.list其中类型为对象时,String时,基本数据类型时. [java中的对象类型与基本数据类型的区别] #声明和实例化 ...
最新文章
- 传奇芯片设计大神Jim Keller又离职了,英特尔失了总设计师,网友喊话雷军:挖他!...
- Android Studio编译问题-Error:Could not find org.jetbrains.trove4j
- vmware 利用镜像 配置yum本地源
- VTK:图表之ColorVerticesLookupTable
- 安徽省2012年下半年计算机水平考试(二级 c语言程序设计),安徽省计算机等级二级考试真题C语言2012年12月...
- 苹果6怎样打开html,苹果iPhone的Safari浏览器使用技巧图解
- 最大连续1的个数 三 窗口大小固定,逻辑连续但实际上并不连续的滑动窗口
- 雷赛运动控制卡能不能用c语言_弱电知识之三:跟我学做全彩屏,认识LED全彩屏的模组、控制卡...
- python新闻联播分类_如何利用人脸识别自动切分视频
- Python之if语句
- 【备忘】Windows的命令行下设置网络代理
- 列表标签(HTML)
- Spring→简介核心作用范围、框架、接口编程、IOC控制反转、单元测试、Bean容器、注入、作用域、生命周期、自动装配注入、自动扫描@注解
- 最小生成树的java实现
- 阶段1 语言基础+高级_1-3-Java语言高级_08-JDK8新特性_第4节 方法引用_5_方法引用_通过this引用本类的成员...
- 文献管理三剑客之Noteexpress:更新一次文献后把文献自动插一次
- php 判断邮箱是否存在,PHP-PHP中如何验证是否存在邮箱?
- Flutter绘制虚线
- java解决合并两个有序链表问题
- python随机加减乘除_python实现随机加减法生成器