java中dao层和service层的区别是啥

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java中dao层和service层的区别是啥相关的知识,希望对你有一定的参考价值。

参考技术A 简单的说dao层是跟数据库打交道的,service层是处理一些业务流程的,
至于你说的为什么要用service层封装,我认为:一般来说,某一个程序的有些业务流程需要连接数据库,有些不需要与数据库打交道而直接是一些业务处理,这样就需要我们整合起来到service中去,这样可以起到一个更好的开发与维护的作用,同时也是mvc设计模式中model层功能的体现
参考技术B 这体现了一种分层的思想,service负责业务逻辑,dao负责数据访问。
以注册用户这个功能为例,service层要负责检查用户名是否保留字,是否已使用,然后把信息写入数据库,再生成关联信息比如权限等也写入数据库,同时还要处理异常。

JAVA中Action层, Service层 ,modle层 和 Dao层的功能区分

Dao层是使用了Hibernate连接数据库、操作数据库(增删改查)。Service层:引用对应的Dao数据库操作,在这里可以编写自己需要的代码(比如简单的判断)。Action层:引用对应的Service层,在这里结合Struts的配置文件,跳转到指定的页面,当然也能接受页面传递的请求数据,也可以做些计算处理。以上的Hibernate,Struts,都需要注入到Spring的配置文件中,Spring把这些联系起来,成为一个整体。

 

一般java都是三层架构 数据访问层(dao) 业务逻辑层(biz 或者services) 界面层(ui) action 是业务层的一部分,是一个管理器 (总开关)(作用是取掉转)(取出前台界面的数据,调用biz方法,转发到下一个action或者页面)  模型成(model)一般是实体对象(把现实的的事物变成java中的对象)作用是一暂时存储数据方便持久化(存入数据库或者写入文件)而是 作为一个包裹封装一些数据来在不同的层以及各种java对象中使用  dao是数据访问层 就是用来访问数据库实现数据的持久化(把内存中的数据永久保存到硬盘中)

 

Dao主要做数据库的交互工作 Modle 是模型 存放你的实体类 Service 做相应的业务逻辑处理 Action是一个控制器

 

转:http://blog.csdn.net/limuzi13/article/details/44968819

以上是关于java中dao层和service层的区别是啥的主要内容,如果未能解决你的问题,请参考以下文章

java中dao层和service层的区别是啥

java中dao层和service层的区别,为啥要用service

关于service层和DAO层的几点疑惑

java中Action层Service层和Dao层的功能区分

java中Action层Service层和Dao层的功能区分

Service层和Controller层的开发