社区
Web 开发
帖子详情
关于SSH的Service层和Dao层。。。大家讨论一下。。
hongseyouyang
2010-09-13 03:05:17
ssh中Service层和Dao层一般都是实现接口。也就是我们经常说面向接口编程。也可以降低耦合性。
service层:处理业务逻辑
dao层:数据库持久化
有个疑问: Service层和Dao层不实现接口不行吗。。 直接就写类不行吗。。。
实现了接口,也许某一天我要从hibernate改为jdbc了,直接就将实现接口的类的方法改了就行了。
如果我不实现接口,直接改类的方法不也一样吗?
大家说说有什么区别。。。。。
...全文
883
28
打赏
收藏
关于SSH的Service层和Dao层。。。大家讨论一下。。
ssh中Service层和Dao层一般都是实现接口。也就是我们经常说面向接口编程。也可以降低耦合性。 service层:处理业务逻辑 dao层:数据库持久化 有个疑问: Service层和Dao层不实现接口不行吗。。 直接就写类不行吗。。。 实现了接口,也许某一天我要从hibernate改为jdbc了,直接就将实现接口的类的方法改了就行了。 如果我不实现接口,直接改类的方法不也一样吗? 大家说说有什么区别。。。。。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
28 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
wuhukui8369
2012-01-03
打赏
举报
回复
不需要吧
j_coffees
2011-08-22
打赏
举报
回复
有点意思..菜鸟想问下dao层的接口和service层的接口方法名参数需相同吗?以前学的一点是直接用dao的实现类了,对service层还不理解。。弱智问题,勿喷。。
jdjwxj
2010-09-14
打赏
举报
回复
我个人觉得,写接口另外一个好处是对于开发的,可能很多人觉得麻烦了,但是,spring是面向方面变成的框架,也就是说,你做dao层,我做service,我不需要知道你dao怎么实现,我只要调用你的借口就可以了,这样可以进行同时开发,而如果不用借口,直接用实现类的话,我们是不能够同时进行开发的,service必须要等到dao开发完才可以。不知道这样说对不对,我个人这么理解。
舞黯然
2010-09-14
打赏
举报
回复
开闭原则,对扩展开放,对修改关闭。
zn85600301
2010-09-14
打赏
举报
回复
哎 服了众神了
首先我想 先问下 你用的是SSH 换数据库和代码有关系吗 你的HIBERNATE配置文件也算是在SERVICE和DAO里?我做项目开发时 10G 部署时11G 一点没问题。
还有楼上说不分SERVICE的 大侠,我请问下 一个业务逻辑里操作多个数据库的表 你怎么保证他们同时成功,你不要在SERVICE里面加事物? 你的DAO这么强大?可否贴出来看看?
之所以分层 就是为了协调开发 提高开发效率和代码的耦合度,分层是思想模式,你觉得麻烦 是你没真正碰到复杂的业务。
大人们 饶命 小的该死 满嘴放炮
菖蒲老先生
2010-09-14
打赏
举报
回复
[Quote=引用 19 楼 jdjwxj 的回复:]
我个人觉得,写接口另外一个好处是对于开发的,可能很多人觉得麻烦了,但是,spring是面向方面变成的框架,也就是说,你做dao层,我做service,我不需要知道你dao怎么实现,我只要调用你的借口就可以了,这样可以进行同时开发,而如果不用借口,直接用实现类的话,我们是不能够同时进行开发的,service必须要等到dao开发完才可以。不知道这样说对不对,我个人这么理解。
[/Quote]
硬要这么说也有点道理,不过好像现在很少公司分service,dao层来让不同人员开发吧,至少我还没见过。
mythling
2010-09-14
打赏
举报
回复
一切为了可扩展,留后路。
lzw0286
2010-09-14
打赏
举报
回复
为数据访问层和业务逻辑层分别定义一族接口,业务逻辑层不依赖具体的数据访问层,而是仅依赖数据访问层的接口族。如此一来,当要更换数据库时,我们就不必改写整个业务逻辑层,因为业务逻辑层里根本没有任何数据访问层中的具体类,而全是通过接口实现的。
这样会更容易扩展。。。
当修改某一层时,只需要关注该层,而不需要更改别的层的代码。。。。
flybird
2010-09-14
打赏
举报
回复
mark 学习
yaojj_147258369
2010-09-14
打赏
举报
回复
面向接口的便于管理,在调用的时候直接调用接口就好了,如果你写个类的话,没调用一次就得new一个类,当new一个新类,就会给这个对象分配各地址;占有内存;
iijunlong
2010-09-14
打赏
举报
回复
小的项目用处的确不大,倒是写起来很麻烦,但最好还是遵循软件设计的开闭原则,对修改关闭,对扩展开放,如果dao层变化,只需扩展接口的实现,而不是去修改之前写的代码
Rick_ang
2010-09-13
打赏
举报
回复
即使买的是Oracle的数据库,难道不会更新版本?如果你的数据库从10g升级到11g了,对于业务逻辑来说完全是透明的,如果直接写类,恭喜你,请你重新修改和编译所有业务类
zzxiaoma
2010-09-13
打赏
举报
回复
写接口是为了扩展,如果软件不能扩展就等于死亡
bill_hai
2010-09-13
打赏
举报
回复
公司花了几十万或几百万买了oracle,又招了几个oracle的dba,哪能轻易就换成其他的数据库了
如果dao层用hibernate实现,也不会轻易换成jdbc或sqlserver来实现,那么多的类谁愿意去费事写呀
hchen1982
2010-09-13
打赏
举报
回复
小的项目感觉不多,大的项目就感觉到好处了。
hchen1982
2010-09-13
打赏
举报
回复
但是我个人觉得,一般写这个接口没什么用,因为一般一个接口只有一个实现。一般也不会从oracle转换到sqlserver。所以写了那么多接口有点脱裤子放屁的作用
hongseyouyang
2010-09-13
打赏
举报
回复
[Quote=引用 9 楼 bill_hai 的回复:]
在service层 只知道接口,并不关心具体的dao怎么实现,如果重写一个类的话,有了接口,就不用改service层的代码了,只要改一下spring的注入配置文件就ok了。
但是我个人觉得,一般写这个接口没什么用,因为一般一个接口只有一个实现。一般也不会从oracle转换到sqlserver。所以写了那么多接口有点脱裤子放屁的作用
[/Quote]
有点意思 哈哈
bill_hai
2010-09-13
打赏
举报
回复
写接口是为了以后扩展用的,相应的增加了复杂性,如果几乎不存在dao的扩展(比如从oracle扩展到mysql),那写接口意义也就不大了
小弟拙见,只是个人理解
HuaLikeDotNet
2010-09-13
打赏
举报
回复
当然写接口,面向接口编程多好啊
bill_hai
2010-09-13
打赏
举报
回复
在service层 只知道接口,并不关心具体的dao怎么实现,如果重写一个类的话,有了接口,就不用改service层的代码了,只要改一下spring的注入配置文件就ok了。
但是我个人觉得,一般写这个接口没什么用,因为一般一个接口只有一个实现。一般也不会从oracle转换到sqlserver。所以写了那么多接口有点脱裤子放屁的作用
加载更多回复(8)
java底
层
代码:泛型
DAO
+
SSH
+Proxool连接池+国际化语言
2、采用Jsp->Action->
Service
->
Dao
的编码方式,封装了HibernateUtil、SpringUtil、HqlUtil等工具,以及简化了增删查改操作。 3、此底
层
包含泛型
DAO
、Proxool连接池、国际化语言、DateUtil工具、ExcelUtil报表工具、...
关于
SSH
的
Service
层
和
Dao
层
的接口的讨论
2.确定下来接口了,
dao
和
service
层
同时进行开发,提高开发效率。 3.需求变了(不需要改变接口的情况下),如果有接口
层
的话,可以直接添加一个新的
dao
的实现类,然后改一下spring配置;没有的接口的话,要想不...
SSH
面试和笔试指导
由于
SSH
部分内容庞杂,各大高校和培训机构在教学中存在着大量的问题。如重点不突出、理解错误等。为了便于大家掌握
SSH
的重点知识,在面试和笔试中轻松通过,肖老师整理了大量的重要试题,并进行了详细讲解!
Spring的
Service
层
与
Dao
层
解析
service
层
是面向功能的,一个个功能模块比如说银行登记并完成一次存款,UI要把请求给
service
层
,然后
service
曾将这一个case分解成许多步骤调用底
层
的实现完成这次存款,
dao
就是下面那
层
。
dao
就是把数据存起来,之...
DAO
层
_
Service
层
_Controller
层
、View
层
介绍
**
DAO
层
:**
DAO
层
主要是做数据持久
层
的工作,负责与数据库进行联络的一些任务都封装在此,
DAO
层
的设计首先是设计
DAO
的接口,然后在Spring的配置文件中定义此接口的实现类,然后就可在模块中调用此接口来进行数据业务...
Web 开发
81,092
社区成员
341,717
社区内容
发帖
与我相关
我的任务
Web 开发
Java Web 开发
复制链接
扫一扫
分享
社区描述
Java Web 开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章