java中dao层和service层的区别

如题所述

首先解释面上意思,service是业务层,dao是数据访问层。
呵呵,这个问题我曾经也有过,记得以前刚学编程的时候,都是在service里直接调用dao,service里面就new一个dao类对象,调用,其他有意义的事没做,也不明白有这个有什么用,参加工作久了以后就会知道,业务才是工作中的重中之重。
我们都知道,标准主流现在的编程方式都是采用MVC综合设计模式,MVC本身不属于设计模式的一种,它描述的是一种结构,最终目的达到解耦,解耦说的意思是你更改某一层代码,不会影响我其他层代码,如果你会像spring这样的框架,你会了解面向接口编程,表示层调用控制层,控制层调用业务层,业务层调用数据访问层。初期也许都是new对象去调用下一层,比如你在业务层new一个DAO类的对象,调用DAO类方法访问数据库,这样写是不对的,因为在业务层中是不应该含有具体对象,最多只能有引用,如果有具体对象存在,就耦合了。当那个对象不存在,我还要修改业务的代码,这不符合逻辑。好比主板上内存坏了,我换内存,没必要连主板一起换。我不用知道内存是哪家生产,不用知道多大容量,只要是内存都可以插上这个接口使用。这就是MVC的意义。
接下来说你感觉service的意义,其实因为你现在做东西分层次不是那么严格,在一个你们做东西业务本身也少,举个最简单的例子,你做一个分页的功能,数据1000条,你20条在一个页,你可以把这个功能写成工具类封装起来,然后在业务层里调用这个封装的方法,这才是业务里真正干得事,只要没访问数据库的,都要在业务里写。
再有不明白的追问,这是经验问题,呵呵,其实以后你就会懂。只是刚开始写的代码都是有个请求,我就去数据库取,业务几乎没有。
温馨提示:内容为网友见解,仅供参考
无其他回答

java中dao层和service层的区别是什么?
Java中DAO层和Service层的区别:一、定义与职责不同 DAO层:主要负责数据的持久化操作,即对数据库的操作。这一层会定义数据访问的接口及实现,处理数据的增删改查,与数据库进行交互。Service层:主要处理业务逻辑。它基于DAO层进行业务处理,调用DAO层的方法完成数据的存取操作,并可能进行一定的业务逻辑...

java中dao层和service层的区别是什么?
在Java开发中,DAO层和Service层各司其职,分别承担着不同的职责和功能。DAO层主要负责数据的持久化操作,而Service层则负责业务逻辑的实现。两者的主要区别在于职责和功能的差异。二、DAO层的主要职责和特点:1. 数据访问:DAO层负责与数据库进行交互,执行数据的增删改查操作。2. 持久化操作:它实现数...

java中dao层和service层的区别是什么?
在Java编程中,数据访问层(DAO)和服务层(Service)扮演着不同的角色。DAO,即Data Access Object,主要负责底层的数据操作,如针对数据库表或实体进行增删改查等基础操作,它是系统架构中的基础组件。相比之下,Service层则更上一层楼,它被设计为服务提供者,封装了一系列的业务逻辑。Service层不仅仅...

java中dao层和service层的区别是什么?
dao层:dao层叫数据访问层,全称为data access object,属于一种比较底层,比较基础的操作,具体到对于某个表、某个实体的增删改查 service层:service层叫服务层,被称为服务,肯定是相比之下比较高层次的一层结构,相当于将几种操作封装起来。至于为什么service层要使用接口来定义有以下几点好处:在java...

java中dao层和service层的区别是什么?
service负责业务逻辑,dao负责数据访问。以注册用户这个功能为例,service层要负责检查用户名是否保留字,是否已使用,然后把信息写入数据库,再生成关联信息比如权限等也写入数据库。同时还要处理异常。这一串动作就是业务逻辑,service层要负责实现,但它不应该关心底层用的是mysql还是oracle,也不应该由它拼接...

java中dao层和service层的区别是什么
简单的说dao层是跟数据库打交道的,service层是处理一些业务流程的,至于你说的为什么要用service层封装,我认为:一般来说,某一个程序的有些业务流程需要连接数据库,有些不需要与数据库打交道而直接是一些业务处理,这样就需要我们整合起来到service中去,这样可以起到一个更好的开发与维护的作用,...

Java Web基础——Action+Service +Dao三层的功能划分
在Java Web开发中,Action、Service和DAO三个组件有着明确的功能划分:Action主要负责业务逻辑的调度和页面跳转,它像餐厅的服务员,接收用户的请求,处理后引导到相应服务。Service则是具体功能的管理者,它执行业务操作,如厨师根据菜单做菜。Action将用户需求传递给Service,而Service调用对应的DAO来实现功能。

java为什么要分为service层,dao层,controller层?
如同饭店中厨师、小工与跑堂各司其职,Java程序的开发也需要遵循类似的分层原则,将功能划分为不同的层,从而提升代码的可读性、可维护性和可扩展性。其中,service层负责业务逻辑的实现,对业务规则进行处理,它与数据库操作无关,只关注业务逻辑的正确性和复杂性。而dao层则专注于数据库操作,实现数据的...

Dao层Dao层实现类和Service层Service实现类的关系
service是业务层 ,功能是实现你需要的业务 dao层是数据访问层,代表要操作的数据。关系是一般都是调用某个service去实现某个业务,但是在实现业务的过程中。需要访问数据。也就是说。会在service中调用不同的dao,访问不同的数据,来完成这个业务相关的数据 处理。之所以分层是为了解耦合。也就是为了后期...

JAVA中“Action层, Service层 ,modle层和Dao层”的功能区分是什么...
一般java都是三层架构数据访问层(dao),业务逻辑层(biz 或者services),界面层(ui) action 是业务层的一部分,是一个管理器 (总开关),取出前台界面的数据,调用biz方法,转发到下一个action或者页面)。模型层(model)一般是实体对象(把现实的的事物变成java中的对象),作用是一暂时存储数据...

相似回答