日期:2014-05-18  浏览次数:20705 次

spring在ssh有什么用?——关于struts+spring+hibernate的困惑
最近在学习struts+spring+hibernate。找到几个源代码想了解下他们的运行流程。在学习中遇到一些困惑
大体流程是这样的:
当提交表单时,表单数据保存在struts的actionform中,之后用spring控制流程,然后再调用struts的action进行业务处理。

在这里过程中,spring好像仅仅就是控制该用那个action处理action,但是struts也能控制流转啊,为什么要用spring?
在ssh中spring还在那些方面起作用。
谢谢大侠提点。

------解决方案--------------------
spring可以看作一个容器,就像你使用的tomcat容器一样(尽管比喻有点不恰当)。

tomcat是将你部署的程序运行起来,spring也是组织你的每个层的链接,可以看作堆积木的道理。

你web层使用的是struts,这一块可以看作一个积木。你有多个模块也就有多个这样的积木。
hibernate是orm,也就是封装你操作数据的动作,也可以看作一个积木,这样你有多个模块又会有多个积木。

将这些积木堆在一起就可以使用spring了。他能很好的组装你这些分散的积木。

我这里只是简单的说了说spring的ioc功能。

spring的另外一个强大功能就是aop,这个你可以看作对一个面的操作。例如日志,安全等。

如果简单说spring是业务层,那是错误的,你的业务层其实是个javabean。

spring从表层来看就是玩配置文件,弄懂了怎么配置,你也就基本懂spring了。
------解决方案--------------------
spring的特点就是非侵入性。

你只要配置好,spring就可以发挥作用了。
------解决方案--------------------
spring的配置事务和把本地接口配置成WEB服务或本地接口比较不错,而且支持的其他框架和模型的支持性比较好,J2EE的很多服务在SPRING里都有对应实现方法