Struts+Spring+Hibernate 分析

Spring + Hibernate + Struts 综合应用案例分析 在Spring中,Bean是IoC容器中管理的对象,开发者通过XML配置文件、注解或Java配置类来定义Bean。Spring IoC容器对Bean的生命周期进行管理,包括创建、配置、使用和销毁各个阶段。Bean的生命周期可以通过实现InitializingBean和DisposableBean接口进行扩展。Spring提供了灵活的容器扩展机制,开发者可以通过实现BeanFactoryPostProcessor和BeanPostProcessor接口来对容器进行扩展。 阅读详情
1,先说说你的表示层
其实没有必要使用struts,除非你有历史遗留问题不得不用struts,因为spring的mvc已经足够好了:
a.清晰的模型对象传递,这个模型对象可以是任何java对象,如果你不在意在各层之间传递同一个对象的话,这个模型对象就可以是hibernate的persistent object,通过open session in view,你可以以一致的方式使用业务模型对象。
b.reference data,让你清晰的处理look up数据。
c. 多种可供选择的视图解析类型,可以在prpperties文件中定义page的逻辑名,或者定义在xml文件里的struts tiles逻辑名。
d.无干扰的数据绑定,一个<spring:bind>可以对模型对象和form进行绑定,就像struts自动填充formbean一样,但spring 的绑定功能不会干扰界面布局,也就是说,你仍然可以使用html编辑器对页面进行处理。
e.客户端验证。
f.服务器端验证。
g.多种可供选择的控制器,其中支持表单的控制器提供了类似vb中表单事件处理的功能,这是一系列的workflow,在你认为合适的地方,插入你的处理代码。

spring mvc与struts比较,可能只是少了很多taglib和页面布局,但这都可以通过第三方工具补充,因为视图相比于其他部分,毕竟更轻量级一些。可以选择的第三方工具可以是:displaytag,struts-menu,struts tiles,等等。

2,在说说业务逻辑部分
业务逻辑类可以用spring的beans进行配置,并由spring管理与表现层的控制器及更下层的DAO对象的关系。另外,还可以进行配置性的事务处理,一个interceptor配置,免去了你的所有烦恼。

3,dao层
用spring 封装后的hibernate API,让Hibernate继续瘦身,并且通过spring建立与上层的关系。

4,最后,说说hibernate的po
你可以选择你喜欢的任何方式进行建模,以下工具提供了足够的支持:
a. 从java对象到hbm文件:xdoclet
b. 从hbm文件到java对象:hibernate extension
c. 从数据库到hbm文件:middlegen
d. 从hbm文件到数据库:SchemaExport

至于可供参考的项目,可以看看spring的例子petclinic(spring+hibernate),还有一个不可不看的网站:http://raibledesigns.com/wiki/Wiki.jsp?page=AppFuse(struts+spring+hibernate或spring mvc + spring +hibernate)。另外,spring带的mvc step-by-step是一个很好的入门教程。

需要说明的是,spring仅仅为我们提供了一种设计和实现框架的方式,因此,项目的成功与否,是与我们的构架设计紧密相关的,在有了好的设计思想以后,善用spring,会让我们的成功来的更容易。
COMSOL电磁仿真案例——感应线圈 COMSOL电磁建模仿真案例——感应线圈 阅读详情

相关推荐

MATLAB并行开不了的解决办法

在服务器上新安装了MATLAB 2013b,在开并行计算的时候出现了下列问题 经过在网上搜多这个问题,我感觉这个问题应该是安装的时候的验证问题或者激活不成功之类的。注意其中有一句validate the profile ‘local’ in the Cluster Profile Manager.在matlab官网上找到了设置Cluster Manager的教程,如下 parallel>

sinat_36713319的博客 5989

三大框架理解

常听人提起三大框架,关于三大框架,我做了如下了解 :      三大框架: Struts+Hibernate+Spring  Java 三大框架主要用来做 WEN 应用。  Struts 主要负责表示层的显示  Spring 利用它的 IOC 和 AOP 来处理控制业务(负责对数据库的操作)  Hibernate 主要是数据持久化到数据库    再用 jsp 的 servlet 做网页

十年饮冰,难凉热血 1736

python基础·练习1(字符串作业)

python基础·练习1字符串作业一、填空二、编程初级中级 字符串作业 一、填空 1.已知s2 = ‘123’,则:s2 * 3 = ___________; s2 + str(456) = ___________; s2 = '123' print(s2 * 3) #123123123 print(s2 + str(456)) #123456 2.已知s1 = ‘123456789’。则: s1[:3] = ________; s1[-5:] =____________; s1[::2]=______;

qq_47326711的博客 8123

struts,spring,hibernate简单关系

Struts2:         1.为什么每次请求都要创建一个Action对象?             re: 为了防止线程迸发,如果每次都使用同一个Action进行数据修改和传递的话,容易引起线程迸发,使线程不安全。         2.ModelDriven拦截器的配置中refreshModelBeforeResult解决了什么问题?             re:在数据输出之前将

不积跬步,不至千里,不积小流,不成江海 1885

魔兽世界怀旧服宏命令全解析:从自动换装到智能判定,老玩家才知道的黑科技

本文全面解析魔兽世界怀旧服宏命令的高级应用,从自动换装到智能判定,揭秘老玩家专属的黑科技技巧。深入探讨怀旧服特有的宏命令机制,包括施法队列、装备切换系统和职业专属技巧,帮助玩家在经典旧世版本中提升战斗效率。

weixin_29230865的博客 737

干扰管理学习日志4-------信道估计方法 LS(最小二乘)、MMSE(最小均方误差)

信道估计,就是从接收数据中将假定的某个信道模型的模型参数估计出来的过程。如果信道是线性的话,那么信道估计就是对系统冲激响应进行估计。需强调的是信道估计是信道对输入信号影响的一种数学表示,而“好”的信道估计则是使得某种估计误差最小化的估计算法。本文主要讲述非盲信道估计中的LS估计和MMSE估计。LS全称为,即估计的信道参数与实际信道参数的差,进行平方求和后得到的误差累积最小。MMSE估计是LS估计的改进,在LS估计的最终结果的基础上乘以加权矩阵,使之与实际信道参数更为接近。

taiyuezyh的博客 1万+

Struts2,Hibernate和Spring之间的框架整合关系

1.首先要认清,hibernate和struts没有半点关系,所以他们之间没有任何可以整合的东西。a:struts 作为中心控制器,肯定要调用一些类来完成一些逻辑。而hibernate开发中,经常使用的dao,service对他的封装,就算是jdbc也需要,根 本不是hibernate的特性,struts的action使用的dao,service也就因此不能代表和hibernate进行整合,所...

weixin_30249203的博客 199

攻防实战之Confluence后利用

这边管理员密码是密文加密在数据库中,解不开,因此解决的思路是将管理员用户密码修改为已知明文密码的密文(这边不能直接在数据库中添加字段,关系型数据库在单表中添加一条字段可能会出现问题),登录上后台以后,添加用户并加入管理员组,最后将管理员密码还原。Confluence的后利用主要问题在于在Linux中搭建时,默认是Confluence用户权限,如下图所示,而confluence在linux中是没有写权限的,这也就是为什么有些人发现可以执行命令但是shell写不进去。至此admin的密码被改为了123123。

weixin_39251927的博客 2716

Spring、Struts、Hibernate框架之间的关系是什么以及怎么处理

Java开源--持久层框架hibernate Hibernate是一个开放源代码的对象关系映射框架。 对JDBC进行了非常轻量级的对象封装,使Java程序员可以随心所欲地使用对象编程思维来操纵数据库, Hibernate持久化对象是基于简单的Java对象(Plain OldJavaObjects)以及Java对象集合。 Hibernate可以应用在任何使用JDBC的场合,既可以在J...

weixin_30492047的博客 210

CGAL 网格等高线计算

CGAL 网格等高线计算

dayuhaitang1的博客 452

SAP 调用Ftp服务器

FTP(File transfer protocol)是一种标准的网络协议,可以用于在互联网上传递文件。SAP系统中可通过系列配置和提供的些标准函数,用于查看、更新、下载FTP服务器上的文件。提示:以下是本篇文章正文内容,下面案例可供参考。

qq_38304013的博客 1418

hibernate,spring,struts三个框架之间的关系

Hibernate 负责数据,如果简单,用JDBC也行 Struts 负责用户的交互,如果简单,用JSP也行。 Spring 可以让他们更好的合作 所以:没有Spring是可以的 没有另外2部分是不可以的。 <!--google_ad_client = "pub-2908059660288034";/* 728x90,首页中间 创建于 08-8-14

老紫竹的专栏 2930

ESP32-S3模组上兼容SCCB总线与I2C总线的解决方案(1)

ESP32-S3模组上兼容SCCB总线与I2C总线的解决方案(1)

phmatthaus的专栏 776

struts spring hibernate分析

现在给美国老作项目,他们那边要求一定要用"Struts+Spring+Hibernate"来实现,下面就是我对它们组合的理解:1,先说说表示层 其实没有必要使用struts,除非你有历史遗留问题不得不用struts,因为spring的mvc已经足够好了: a. 清晰的模型对象传递,这个模型对象可以是任何java对象,如果你不在意在各层之间传递同一个对象的 话,这个模型对象就可以是hibernate

EndAll的专栏 901

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

Struts Spring Hibernate 分析

用Struts+Spring+Hibernate结合来实现系统 1,先说说表示层其实没有必要使用struts,除非你有历史遗留问题不得不用struts,因为spring的mvc已经足够好了:   a. 清晰的模型对象传递,这个模型对象可以是任何java对象,如果你不在意在各层之间传递同一个对象的话,这个模型对象就可以是hibernate的persistent object,通过open ses

chliestan的专栏 394

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

Struts+Spring+Hibernate 分析(转)

现在给美国老作项目,他们那边要求一定要用"Struts+Spring+Hibernate"来实现,下面就是我对它们组合的理 解:      1,先说说表示层     其实没有必要使用struts,除非你有历史遗留问题不得不用struts,因为spring的mvc已经足够好了:  a. 清晰的模型对象传递,这个模型对象可以是任何java对象,如果你不在意在各层之间传递同一个对象的     话,这个模

他山之石,可以攻玉 1094

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

struts,Hibernate,Spring三大框架整合错误分析

在JavaEE练习整合struts,Hibernate和Spring时,出现了一个这样的错误: HTTP Status 500 - DLB is not mapped [from DLB u where u.XH=? and u.KL=?] 关键错误代码如下: public class DlDaoImpl extends BaseDao implements DlDao{ @Overri

zhazhabin的博客 761
上一篇: struts中文的解决方法
下一篇: 运用类反射机制简化Struts应用程序的开发
csdnloading
博客等级 码龄11年 0粉丝 59原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值