文章分类 | 推荐文章 | 最新文章 | 热点文章 | 最新软件 | 精品软件 | 下载排行 | 推荐下载 | 免费看大片 | WPS | 杀毒软件
清风网络
首 页 软件下载 网络学院 数码学院
QQ 电脑入门 游戏 操作系统 图形处理 办公软件 媒体动画 精文荟萃 工具软件 网络编程 程序开发 网络技术 认证考试 网站建设 文章专栏
当前位置:清风网络学院网络编程PHPSpring 总结用XML配置的十二个最佳实践
精品推荐
特别推荐
·菜鸟学PHP之Smarty入门
·PHP环境安全配置教程
·PHP入门指导:如何学习PHP?
·Php+Mysql注入专题
·PHP:实现给上传图片加水印的程序代码
·PHP动态网站开发中常用的8个小技巧
·PHP初学者:配置Apache服务器并且设置DNS
·初学PHP指导:php.ini 配置详细选项
·好文分享:PHP入门的学习方法
·急速搭建属于自己的Discuz!6论坛
热点TOP10
·菜鸟学PHP之Smarty入门
·傲慢与偏见 程序员想让HR知道的七件事
·升级PHP5的理由:PHP4和PHP5性能对比
·PHP4将结束更新并在明年退出历史的舞台
·jdk1.6环境搭建netbeans的中文乱码
·关于Html嵌入打成jar包的Applet方法
·学习java的一些好的书籍介绍
·WEB开发中Spring AOP实际应用一例
·Java Server Faces建立交互式WEB站点
·利用Java Servlets 2.4实现过滤

Spring 总结用XML配置的十二个最佳实践

日期:2008年2月13日 作者: 查看:[大字体 中字体 小字体]


1.不要使用autowiring

Spring可以通过类的自省来自动绑定其依赖部分,使得你不必明确指明bean的属性和构造器。Bean的属性可以通过属性名称或类型匹配来实现自动绑定。构造器通过类型匹配来实现自动绑定。你甚至可以指定自动检测自动绑定模式,它可以引导Spring选择一种适当的运行机制。先来看看下面的一个例子:

class="com.lizjason.spring.OrderService"

autowire="byName"/>

OrderService类的属性名在容器中用于匹配bean实例。自动绑定可以潜在地节省一些打字和减少一些混乱。但是在现实世界的工程里你不应该使用这种方式,这是因为它牺牲了配置的清晰性和可维护性。许多指南和介绍中大量吹捧自动绑定是Spring的一种极好的特征而没有提到这一特性所带来的牺牲。依我的观点,这就像Spring中的object-pooling,它更像是一种为了占据更多市场的商业特征。它对于XML配置文件的小巧化是一个好办法,但实际上也增加了复杂程度,尤其当你运行有大量类声明的工程时。虽然Spring允许你混合自动绑定和手动绑定,但是这个矛盾会使XML配置更加晦涩难懂。

2.使用通俗的命名

这个方式对于Java编码也一样适用。在工程中使用清晰的、描述性的、协调的通俗名称对于开发者理解XML配置是十分有益的。例如对于beanID,你可以根据通俗的Java类名来命名它。对于例子中OrderServiceDAO的beanID命名为orderServiceDAO。对于大的工程,你可以在beanID前面加上包名作为前缀。

3.使用简洁的形式

简洁形式避免了冗长,是因为它从子元素中将属性值和参考写到属性中。例如下面的例子:

class="com.lizjason.spring.OrderService">

lizjason

可以使用简洁形式将上述代码重写为:

class="com.lizjason.spring.OrderService">

简洁形式功能在1.2版本中可以使用。对于没有简洁形式。

简洁形式不但可以节约你的打字,而且可以使XML配置文件清晰。它最引人注目的是当在一个配置文件中有大量定义的类时可以提高易读性。

4.对于构造器参数匹配,类型名比序号好。

当一个构造器含有一个以上的同种类型的参数,或者属性值的标签已经被占用时,Spring允许你使用从0计数的序号来解决这些会带来混淆的问题。例如:

class="com.lizjason.spring.BillingService">

像下面这样,利用类型属性来编写会更好一些:

class="com.lizjason.spring.BillingService">

value="lizjason"/>

使用索引可以稍稍减少一些冗长,但是和使用类型属性相比,它还是有容易发生错误的倾向和难于阅读的缺点。你应该只在构造器参数不明确的时候,才使用索引这一方法。

5.尽可能重用已定义过的bean

Spring提供一种类似继承一样的机制来减少配置信息的复制并简化XML配置。定义一个子类可以从它父类那里继承配置信息,而父类实质上作为子类的一个模板。这就是大工程中所谓的重用。你所需要做的就是在父类bean中设置abstract=true,然后在子bean注明它自己的父类bean。例如:

class="com.lizjason.spring.AbstractService">

parent="abstractService"

class="com.lizjason.spring.ShippingService">

ShippingService类从abstractService类那里继承companyName属性的值??lizjason。如果你没有为一个bean指明类或factory方法,那么这个bean便是抽象的。

6.尽量使用ApplicationContext来装配定义的bean

像在Ant脚本中的引用一样,Spring的引用对于装配模块化的bean来说是很有用的。例如:

class="com.lizjason.spring.OrderService"/>

相对于使用import在XML配置中来预装配,通过ApplicationContext来配置这些beans,显得更加灵活。利用ApplicationContext也使得XML配置易于管理。你可以像下面的例子那样在ApplictionContext构造器里布置bean:

String[]serviceResources=

{"orderServices.xml",

"billingServices.xml",

"shippingServices.xml"};

ApplicationContextorderServiceContext=new

ClassPathXmlApplicationContext(serviceResources);

7.利用id作为bean的标识符

你可以指定一个id或名称来作为bean的标识符。虽然使用id不会提高易读性,但是它可以让XMLparser对bean的引用有效方面进行更好的验证。如果由于XMLIDREF的限制而不能使用某个id,你可以利用names来作为bean的标识符。XMLIDREF的限制是id必须以字母开头(或者在XML规范中定义的标点符号),后面接着字母,数字,连字号,下划线,冒号等。实际上,遇到XMLIDREF限制的问题是很少见的。


[1] [2] 下一页 




上一篇:Linux系统下配置Tomcat自行启动的方法

下一篇:Java技巧 如何使用JWS网络启动部署软件

相关文章:
·如何在交换机上配置VLAN
·人生激励:激励的最佳方法
·Vista系统使用技巧总结
·CPU型号大全总结
·设好eMule电驴两项关键配置 提高下载速度
·WindowsXP应用技巧的具体总结
·详细图解TP-Link无线路由配置
·Google adsense 2007巡讲大会郑州站总结
·三种方法教你查看计算机的硬件配置
·中学校园网建设实践与思考
相关软件:
·路由器配置实例--100例
·局域网的配置管理
·手把手教你配置路由器
·新东方张亚哲四六级英语考试词汇总结
·cisco各种交换机的镜像配置
·手机游戏:第十二个星期四
·总结资产评估的一些大题
·医师资格实践技能考前培训
·CISCO 3550(EMI)简明配置维护手册
·Cisco IOS 12.0 参考库-接口配置技术

特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
[打印本页] [关闭窗口] 转载请注明来源:http://www.viphot.com
| 帮助(?) | 版权声明 | 友情连接 | 关于我们 | 信息发布
Copyright 2007 www.viphot.com All Rights Reserved. 鄂ICP备05000083号Powered by:viphot