当前位置:七道奇文章资讯编程技术Java编程
日期:2011-03-22 16:12:00  来源:本站整理

总结Spring中XML配置的十二个最佳实践[Java编程]

赞助商链接



  本文“总结Spring中XML配置的十二个最佳实践[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

Spring是一个强盛的JAVA利用框架,遍及地利用于JAVA的利用程序.为PlainOldJavaObjects(POJOs)供应企业级服务.Spring操纵依靠注入机制来简化工作,同时提高易测性.Springbeans及依靠,以及beans类所需的服务都在配置文件中举行了具体的阐明,这个配置文件是典型的XML格局.但是它既冗长又不实用.关于需求定义大量Springbeans的大工程来说,我们难以阅读和管理它.

在这篇文章里,关于SpringXML的配置,我将向你展示12种对比好的实践.此中的一些实践不但是好的实践,更是必要的实践.除此以外,还有其他因素,比方范畴模子的计划,都能影响XML的配置,但是这篇文章重点研究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"

可以利用简便情势将上述代码重写为:

class="com.lizjason.spring.OrderService

简便情势功效在1.2版本中可以利用.关于没有简便情势.

简便情势不但可以节俭你的打字,并且可以使XML配置文件清楚.它最惹人注目的是当在一个配置文件中有大量定义的类时可以提高易读性.

4.关于构造器参数匹配,范例名比序号好.

当一个构造器含有一个以上的同种范例的参数,大概属性值的标签已经被占用时,Spring答应你利用从0计数的序号来办理这些会带来混合的问题.比方:

class="com.lizjason.spring.BillingService"

像下面这样,操纵范例属性来编写会更好一些:

class="com.lizjason.spring.BillingService" value="name"

利用索引可以稍稍削减一些冗长,但是和利用范例属性相比,它还是有简单发生错误的偏向和难于阅读的缺陷.你应当只在构造器参数不明确的时刻,才利用索引这一办法.


  以上是“总结Spring中XML配置的十二个最佳实践[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:

  • 总结Spring中XML配置的十二个最佳实践
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .