在SSH项目中Struts2SpringHibernate分别起到什么作用?

Posted 清-华-园

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在SSH项目中Struts2SpringHibernate分别起到什么作用?相关的知识,希望对你有一定的参考价值。

(1)Struts主要起控制作用,Spring主要起解耦作用,Hibernate主要起操作数据作用。

(2)Struts核心是Controller(即ActionServlet),而 ActionServlet的核心就是Struts-config.xml主要控制逻辑关系的处理。

(3)Spring是一个轻量级的控制反转(IoC)与面向切面(AOP)的容器框架,是轻量的、非侵入的、面向接口编程,由容器控制程序之间的(依赖)关系,当使用IoC一个对象依赖的其它对象会通过被动的方式传递进来,而不是这个对象自己创建或者查找依赖对象。依赖注入,即组件之间的依赖关系由容器在运行期决定,即由容器动态的将某种依赖关系注入到组件之中起到的主要作用是解耦。

(4)Hibernate是数据持久化层,是一种新的对象、关系的映射工具,提供了从Java类到数据表的映射,也提供了数据查询和恢复等机制,大大减少数据访问的复杂度。把对数据库的直接操作转换为对持久对象的操作。

(5)Struts、spring、Hibernate在各层的作用:

   <1>struts负责WEB层,ActionFormBean接收网页中表单提交的数据然后通过Action进行处理,再Forward到对应的网页,在struts-config.xml中定义<action-mapping>ActionServlet会加载。

   <2>Spring负责业务层管理,即Service或Manager。

          [1]Service层为action提供统计的调用接口,封装持久层的DAO。

          [2]统一管理javaBean方法。

          [3]声明式事务管理。

          [4]集成Hiberante。

   <3>Hiberante负责持久化层完成数据库的CRUD操作,为持久层提供OR-Mapping,它有一组*.hbm.xml文件和POJO是跟数据库中的表相对应的。

   <4>在Struts + Spring + Hibernate中对象的调用流程是jsp->Action->Service->DAO->Hibernate。数据的流向是ActionFormBean接受用户的数据,Action将数据从ActionFromBean中取出,封装成VO或PO,再调用业务层的Bean类,完成各种业务处理后再forward。而业务层Bean收到这个PO对象之后会调用DAO接口方法进行持久化操作。

以上是关于在SSH项目中Struts2SpringHibernate分别起到什么作用?的主要内容,如果未能解决你的问题,请参考以下文章

跟着视频做的SSH项目总结

重温SSH整合项目

maven项目ssh框架的整合

SSH项目(struts+spring+hibernate)搭建_代码简化

SSH项目中怎么玩验证码

整合SSH测试项目