北天软件工作室
北天软件集网站建设、网站开发、软件开发、网站优化SEO、网站宣传、网站开发成一体的网络公司。北天软件是专业的网站建设、网站开发、设计、制作和网站国际推广、搜索引擎推广的网络公司。口号:考虑企业所需,实现企业所想。JAVA技术网热情为java爱好者服务,本网内容包括JAVA(JSP、servlet、EJB、webservice、j2ee、javabean、应用服务器、JavaScript),数据库(MYSQL、SQL Server、Sybase、Oracle、DB2、数据库综合知识),设计研究(设计模式、Struts、Spring、Hibernate、设计框架、设计综合知识),WEB2.0新技术(主要介绍AJAX),以及各种技术的入门、实例、例子等等,欢迎各位多来坐坐!◆  诚邀各位JAVA爱好者加盟!◆  本网站内容丰富,更新快,保证每周20篇以上!   旧版java技术网 | 设为首页 | 文章搜索 | RSS订阅地图
免费使用JavaCMS自助建站系统
  文章搜索:   
初学者园地  javascript  java技术  .Net技术 XML/WebService  数据库技术  web2.0技术  设计模式  设计框架  SEO技术  综合知识
您现在的位置是: 北天软件门户网>>java技术>>详细信息
总结用XML配置的十二个最佳实践

        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);

21/212>
关闭窗口 】   【 返回首页
推荐文章
· Windows 7采用Xml格...
· 在Silverlight3中消耗...
· Eclipse SDK 3.5RC2(S...
· NetBeans 6.7 RC1发布
· JDK7中的Java NIO.2 F...
· Eclipse Ganymede:深...
· Eclipse配置的备注
· NetBeans 6.7 RC3发布
· Windows XP操作系统...
· JVM报错代码对应的错...
· 用JavaFX写用户界面...
· Java技巧:创建Excel...
· 有关Java未来的三个...
· SUN技术中心落户浑南
· 美司法部调查甲骨文Ja...
· Google开放原生软件 ...
· 如何实现.net程序的...
· ADO.NET Entity&...
· 虚拟主机上用Asp.net...
· DIY“ASP.NET MVC...
北天软件工作室 粤ICP备06079815号 版权所有©2006-2008
精彩出品 JavaCMS自助建站 (C)2006-2008 www.it3838.com limited.all rights reserved.
Powered by JavaCMS V2.6.0