首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > XML SOAP >

Spring XML配备十二个最佳实践

2012-11-07 
Spring XML配置十二个最佳实践  在这篇文章里,对于Spring XML的配置,我将向你展示12种比较好的实践。其中的

Spring XML配置十二个最佳实践

  在这篇文章里,对于Spring XML的配置,我将向你展示12种比较好的实践。其中的一些实践不仅是好的实践,更是必要的实践。除此以外,还有其他因素,例如领域模型的设计,都能影响XML的配置,但是这篇文章重点研究XML配置的易读性和易管理性。

  1。不要使用autowiring

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

  

以下是引用片段:
<?bean?id="orderService"?style="border: #cccccc 1px dotted;">以下是引用片段:
<?bean?id="orderService"以下是引用片段:
<?bean?id="billingService"以下是引用片段:
<?bean?id="billingService"以下是引用片段:
<?bean?id="abstractService"?abstract="true"以下是引用片段:
String[]?serviceResources?=以下是引用片段:
<?bean?id="orderService"以下是引用片段:
<?beans>以下是引用片段:
<?bean?id="orderService"?
  class="com.lizjason.spring.OrderService">?
  <?constructor-arg?ref="orderDAO"/>?
  <?/bean>?
  <?bean?id="billingService"?
  class="com.lizjason.spring.BillingService">?
  <?property?name="billingDAO"?
  ref="billingDAO">?
  <?/bean>

  这个例子中,orderService类使用的是constructor injection,而BillingService类使用的是setter injection。constructor injection可以确保bean不会在一个非法状态下被创建,但是setter injection更加灵活并且更易管理,尤其当类存在很多属性并且其中一些是可选的情况下。

  12. 不要滥用依赖注入

  作为最后一点,Spring ApplicationContext可以替你创建Java对象,但是并不是所有的Java对象都通过依赖注入来创建的。例如,全局的对象不应该通过 ApplicationContext来创建。Spring是一个很棒的框架,但是,就易读性和易管理性而言,当定义大量bean的时候,基于XML的配置问题就会突出。过度的依赖注入会使XML配置变得复杂而且臃肿。记住!使用强大的IDE时,例如Eclipse和IntelliJ,与XML文件相比, Java代码更加易读,易维护,易管理。

  总结

  对于Spring的配置,XML是很优秀的方式。但当定义大量 bean时,基于XML配置会变得冗长,笨拙。Spring提供了丰富的配置选项。适当地利用其中的选项可以使XML配置清晰,但是,有些选项,例如 autowiring(自动绑定),往往会降低易读性和易维护性。文章中所列举的实例,可以帮助你创建出清晰易读的XML配置文件。

热点排行