service里面会用到DAO来操作数据库,service跟dao的功能不一样,dao是用来对数据库对象的操作,service为上层逻辑提供服务。例如一个登陆共更能,可以用service提供验证功能,这个功能里面会用一个或数个dao来查询数据库的内容。
service是业务层dao是数据访问层。
我们都知道,标准主流现在的编程方式都是采用MVC综合设计模式,MVC本身不属于设计模式的一种,它描述的是一种结构,最终目的达到解耦,解耦说的意思是你更改某一层代码,不会影响我其他层代码,如果你会像spring这样的框架,你会了解面向接口编程,表示层调用控制层,控制层调用业务层,业务层调用数据访问层。初期也许都是new对象去调用下一层,比如你在业务层new一个DAO类的对象,调用DAO类方法访问数据库,这样写是不对的,因为在业务层中是不应该含有具体对象,最多只能有引用,如果有具体对象存在,就耦合了。当那个对象不存在,我还要修改业务的代码,这不符合逻辑。好比主板上内存坏了,我换内存,没必要连主板一起换。我不用知道内存是哪家生产,不用知道多大容量,只要是内存都可以插上这个接口使用。这就是MVC的意义。接下来说你感觉service的意义,其实因为你现在做东西分层次不是那么严格,在一个你们做东西业务本身也少,举个最简单的例子,你做一个分页的功能,数据1000条,你20条在一个页,你可以把这个功能写成工具类封装起来,然后在业务层里调用这个封装的方法,这才是业务里真正干得事,只要没访问数据库的,都要在业务里写。传送门:http://zhidao.baidu.com/question/364802857.html
Dao是“Data Access Object”的缩写,意思是数据访问对象,所起到的作用说白了就是对数据库的操作对象;而Service是对业务逻辑的基本封装。
个人理解:所谓的DAO和Service,从代码的角度看都是Java类,它们的不同更多体现在它们所面向的东西不一样,或者说它们在软件架构中处的位置不一样.(1)一般意义上,DAO负责的是数据的存取,而Service负责响应别处的请求,这是它们面向的东西不一样,或者说职责不一样,从人类的角度也能容易理解这2个东西各自负责什么(2)一个Service所做的事情可能需要多个DAO共同完成,这样我们就需要在Service里做一些封装和逻辑,以使得对外提供的接口足够简单.其实这里也就体现了分层的思想,当当前接口比较复杂或者不想对外暴露时,可以加一层,用于对外提供抽象接口和屏蔽底层逻辑.换句话说,如果接口足够简单,其实你可以把DAO和service合并成一个东西.不过一般为了方便开发人员理解都分开
service 是服务层 dao是逻辑层service 一般是接口dao是实现service 的类
Dao主要完成由实体模型到关系数据库的相互转换,即CURDservice是将具有相互关联的模型的Dao组装到一起,做数据的CURD
说简单点,JDBC中Dao处理一张表,而service要处理一系列相互关联的表。
以上,个人理解~相互交流。
关于dao层和service层的各自处理的东西,楼上各位已经给出了详细的解答,我就简略的说下,dao层是对数据操作层,对数据库的增删改查的操作,都在这个结构里面实现,service层是业务逻辑处理层,service的另一个主要作用是用来控制事务,当一个数据库操作出错时,可以及时回滚,不会出现对数据的错误处理。在具体点可以百度下,
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
暂无简介
文章 0 评论 0
接受
发布评论
评论(7)
service里面会用到DAO来操作数据库,service跟dao的功能不一样,dao是用来对数据库对象的操作,service为上层逻辑提供服务。
例如一个登陆共更能,可以用service提供验证功能,这个功能里面会用一个或数个dao来查询数据库的内容。
service是业务层
dao是数据访问层。
我们都知道,标准主流现在的编程方式都是采用MVC综合设计模式,MVC本身不属于设计模式的一种,它描述的是一种结构,最终目的达到解耦,解耦说的意思是你更改某一层代码,不会影响我其他层代码,如果你会像spring这样的框架,你会了解面向接口编程,表示层调用控制层,控制层调用业务层,业务层调用数据访问层。初期也许都是new对象去调用下一层,比如你在业务层new一个DAO类的对象,调用DAO类方法访问数据库,这样写是不对的,因为在业务层中是不应该含有具体对象,最多只能有引用,如果有具体对象存在,就耦合了。当那个对象不存在,我还要修改业务的代码,这不符合逻辑。好比主板上内存坏了,我换内存,没必要连主板一起换。我不用知道内存是哪家生产,不用知道多大容量,只要是内存都可以插上这个接口使用。这就是MVC的意义。
接下来说你感觉service的意义,其实因为你现在做东西分层次不是那么严格,在一个你们做东西业务本身也少,举个最简单的例子,你做一个分页的功能,数据1000条,你20条在一个页,你可以把这个功能写成工具类封装起来,然后在业务层里调用这个封装的方法,这才是业务里真正干得事,只要没访问数据库的,都要在业务里写。
传送门:http://zhidao.baidu.com/question/364802857.html
Dao是“Data Access Object”的缩写,意思是数据访问对象,所起到的作用说白了就是对数据库的操作对象;而Service是对业务逻辑的基本封装。
个人理解:
所谓的DAO和Service,从代码的角度看都是Java类,它们的不同更多体现在它们所面向的东西不一样,或者说它们在软件架构中处的位置不一样.
(1)一般意义上,DAO负责的是数据的存取,而Service负责响应别处的请求,这是它们面向的东西不一样,或者说职责不一样,从人类的角度也能容易理解这2个东西各自负责什么
(2)一个Service所做的事情可能需要多个DAO共同完成,这样我们就需要在Service里做一些封装和逻辑,以使得对外提供的接口足够简单.其实这里也就体现了分层的思想,当当前接口比较复杂或者不想对外暴露时,可以加一层,用于对外提供抽象接口和屏蔽底层逻辑.
换句话说,如果接口足够简单,其实你可以把DAO和service合并成一个东西.不过一般为了方便开发人员理解都分开
service 是服务层 dao是逻辑层
service 一般是接口
dao是实现service 的类
Dao主要完成由实体模型到关系数据库的相互转换,即CURD
service是将具有相互关联的模型的Dao组装到一起,做数据的CURD
说简单点,JDBC中Dao处理一张表,而service要处理一系列相互关联的表。
以上,个人理解~相互交流。
关于dao层和service层的各自处理的东西,楼上各位已经给出了详细的解答,我就简略的说下,dao层是对数据操作层,对数据库的增删改查的操作,都在这个结构里面实现,service层是业务逻辑处理层,service的另一个主要作用是用来控制事务,当一个数据库操作出错时,可以及时回滚,不会出现对数据的错误处理。在具体点可以百度下,