关于Action,dao,service.

 我来答
轻快还宽厚灬典范27
2016-11-11 · TA获得超过281个赞
知道答主
回答量:221
采纳率:94%
帮助的人:58万
展开全部

软件开发的分层结构对软件的质量很重要,如果一个小的项目来说 Service层似乎用处不是很大,但如果到了一定大的程序了,那么这service 层进会体现出价值。

你仔细看 dao 和service 层两个层,的引用 类你会发现,在dao中 会用很多的dateSource 数据库的一些类,什么JDBC包里面的类,但是到了service 里就基本上没有了,当你在Action中再调用service的时候,就完全没有了和数据库有关的任何类了,而如果你直接调用dao的话Action中就会存在大量的数据库类。这对软件设计的分层存在一定的弊端。

并且在dao层中主要的是对数据库的增删改查操作,而在service层中还有一个更重要的就是,service是用于对数据逻辑的一些处理,比如你要在增加一条记录前必须先查看那条记录是否已经存在,就得再查一下数据库,那么这样的逻辑就必须得在service层中完成。

总结:service是用于在处理数据的时候做一些逻辑的判断与处理。还提高了软件分层架构。

不知我的回答是否让你满意呢,记得给好评哦。

------------------------------------------------------------------------------------

当年我才疏学浅,再补充一下:

Service 不仅仅是用来调用Dao的,很多情况会调用其他的业务,比如对接其他产品接口,发送短信、邮箱,对接物流,做NoSql等等,我不信你把这些都写在Dao层?还有就是如果你的项目要向第三方开放接口,调用的也是从Service接口里面可以做很多的拦截异常处理等。所以我们的控制器直接操作Service接口就可以基本实现所有的功能调用,Dao只是操作基础数据库的一个接口,Service才是核心。


PS:都这么陈芝麻烂骨头的事还有人点赞我(我就点进来了),你们真可怕。这是我刚毕业那年回答的,想想都快5年过去了,现在已是老司机了,岁月不饶人啊。。。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式