一个基础问题:在Struts等WEB层与hibernate等持久层之间为什么还要加一层Spring等控制层呢?这样做的好处是什么?

programeyonger 2005-08-23 05:38:33
直接调用不是更直接吗?而且又快阿!何必要多套一层呢??
请高手指点一下这样做的好处是什么??
谢谢!!
...全文
213 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
programeyonger 2005-08-24
  • 打赏
  • 举报
回复
谢谢楼上几位!!
ouryh 2005-08-24
  • 打赏
  • 举报
回复
对,主要是用spring的注入功能管理service。
David1022 2005-08-24
  • 打赏
  • 举报
回复
这样你的系统层次和清晰.解耦合模块化,方便以后维护.
mxlmwl 2005-08-24
  • 打赏
  • 举报
回复
to 回复人: miaoliujun(傲龙) ( ) 信誉:176
不同意你说的“加了spring后会使你的程序的很多地方具有AOP的特性,这样降低了各个模块的偶合,性。”这句话,spring对业务层一般都是IOC接口注射,AOP如果你要是用的话也可以,不过实际应用时不是这样的,而且加AOP反而容易增加系统复杂度,在某种程度上甚至加大耦合,但好处就是对于一些重复性劳动,你可以写很少的代码。
mxlmwl 2005-08-24
  • 打赏
  • 举报
回复
其实也不是加spring控制层了,spring不仅仅局限这里。这个主要是从java的分层体系说起。说得通俗一点吧,最基本的就是表现层--业务层--持久层,表现层由structs等来控制管理,持久层有hibernate等来和数据库打交道,业务层就是你的所有业务逻辑了,这里涉及到具体的业务,很复杂,而且多变,用spring来控制,如果以后业务改变的话,如果解耦的好的话,你只要改很小一部分代码,这对于大型项目非常有用。
amorcupt 2005-08-23
  • 打赏
  • 举报
回复
解耦合
模块化
liuquanyi 2005-08-23
  • 打赏
  • 举报
回复
sping看来人人要学呀!
好累!
miaoliujun 2005-08-23
  • 打赏
  • 举报
回复
没说一定要加啊

加了也是有需要就加,这样各个层次比较清晰,struts主要负责web层,spring主要负责业务层,hibernate主要负责持久层
加了spring后会使你的程序的很多地方具有AOP的特性,这样降低了各个模块的偶合性。
当然你不想用spring,你可以不要用。

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧