码迷,mamicode.com
首页 > 编程语言 > 详细

在SSH项目中Struts2、Spring、Hibernate分别起到什么作用?

时间:2018-04-18 23:35:51      阅读:245      评论:0      收藏:0      [点我收藏+]

标签:man   之间   封装   访问   接收   制作   持久层   调用接口   方法   

(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项目中Struts2、Spring、Hibernate分别起到什么作用?

标签:man   之间   封装   访问   接收   制作   持久层   调用接口   方法   

原文地址:https://www.cnblogs.com/hongwei2085/p/8878014.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!