快速业务通道

Spring架构增强MultiActionController(上) - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-18
系统的维护,可以重用相关的逻辑代码,提高代码的重用,同时也减少bean的 配置。有太多的bean配置可以说是Spring 的一个暇疵。Spring提供IOC,让我们灵活的控 制bean的依赖。同时我们需要去维护太多的bean配置,Spring项目中很大程度上都在烂用 xml 配置文件,这很不利于团队开发和系统的后期维护。MultiActionController也不例 外。

1.multiActionController的配置相对复杂。MultiActionController需要注入一个 MethodNameResolver对象,再通过MethodNameResolver的mappings属性来提供请求与方法 之间的映射。这样的配置是复杂的和难以理解的。使用Spring框架的确很灵活,但是有时 这种过分的灵活反而增加了系统的复杂度。

2.multiActionController配置涉及的bean过多。除了自身的bean定义外,还需要把所 有的映射配置到一个UrlHandlerMapping中去。这样除了维护multiActionController的自 身的bean定义外,还需要维护UrlHandlerMapping的定义。

笔者十分反对这种具有连带性的配置,一个bean的属性改变会造成对别一个bean属性 的改变。这样增加了系统的复杂度,和维护成本。所以必须提供一种默认的实现,让bean 之间的依赖,不要造成bean属性之间的依赖。MultiActionController在这方面表示得十 分不好。

3.数据绑定支持不好。SimpleFormController专门用来支持编辑和表单提效的,它支 持数据绑定,在这方面做得很好。可以把jsp页面的字段值绑定为某一对象(Command)。可 以自定义command的名称。虽然MultiActionController也支持数据绑定,但是它并不支持 自定义command的名称。它默认的comamnd名称为”command”。这也是不便于维护的,对 象应该有一个代表自身含义的名字。如果所有页面的绑定对象都以”command”作为名字 ,那将难以理解。MultiActionController支持数据绑定的方法参见上面例子的saveUser 方法。

3.理想的MultiActionController构想

一个理想的MultActionController应该配置简单明了,并且无需要在多个地方进行配 置。应该支持对绑定对象自定义名称。

<bean name="sampleMultiMethodController" class="com.prs.application.ehld.sample.web.controller.SampleMultiMethodControl ler"> <property name="commandName" value="userInfoDTO"/> <property name="formView" value="ehld.sample.userForm"/> <property name="successView" value="redirect:ehld.sample.getuserinfolist.do"/> <property name="urlMethodmappings"> <props> <!--显示用户信息列表 --> <prop key="/ehld.sample.getuserinfolist.do">listUser</prop> <!-- 编辑用户信息 --> <prop key="/ehld.sample.edituserinfo.do">edtiUser</prop> <!-- 保存用户信息--> <prop key="/ehld.sample.saveuserinfo.do">saveUser</prop> </props> </property> <property name="sampleAction" ref="com.prs.application.ehld.sample.biz.action.sampleAction"></property > </bean>

上面是一个更让人能够理解的配置。

1.把请求与具体方法之间的映射作为MultiActionController自身的一个属性 “urlMethodmappings”。

2.通过一个commandName属性,可以让用户自由决定绑定对象的名称。

3.简化UrlHandlerMapping的关联配置。对MutilActionController的bean配置进行改 动时,无再需要去关心 SimpleUrlHandlerMapping的bean配置

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号