在这篇文章里,对于Spring XML的配置,我将向你展示12种比较好的实践。其中的一些实践不仅是好的实践,更是必要的实践。除此以外,还有其他因素,例如领域模型的设计,都能影响XML的配置,但是这篇文章重点研究XML配置的易读性和易管理性。
1。不要使用autowiring
Spring可以通过类的自省来自动绑定其依赖部分,使得你不必明确指明bean的属性和构造器。Bean的属性可以通过属性名称或类型匹配来实现自动绑定。构造器通过类型匹配来实现自动绑定。你甚至可以指定自动检测自动绑定模式,它可以引导Spring选择一种适当的运行机制。先来看看下面的一个例子:
xml 代码
- <bean id="orderService" class="com.lizjason.spring.OrderService"
- autowire="byName"/>
OrderService类的属性名在容器中用于匹配bean实例。自动绑定可以潜在地节省一些打字和减少一些混乱。但是在现实世界
的工程里你不应该使用这种方式,这是因为它牺牲了配置的清晰性和可维护性。许多指南和介绍中大量吹捧自动绑定是
Spring的一种极好的特征而没有提到这一特性所带来的牺牲。依我的观点,这就像Spring中的object-pooling,
它更像是一种为了占据更多市场的商业特征。它对于XML配置文件的小巧化是一个好办法,但实际上也增加了复杂程度,
尤其当你运行有大量类声明的工程时。虽然Spring允许你混合自动绑定和手动绑定,但是这个矛盾会使XML配置更加晦涩难懂。
2.使用通俗的命名
这个方式对于Java编码也一样适用。在工程中使用清晰的、描述性的、协调的通俗名称对于开发者理解XML配置是
十分有益的。例如对于bean ID,你可以根据通俗的Java类名来命名它。对于例子中OrderServiceDAO的bean ID
命名为orderServiceDAO。对于大的工程,你可以在bean ID前面加上包名作为前缀。
3. 使用简洁的形式
简洁形式避免了冗长,是因为它从子元素中将属性值和参考写到属性中。例如下面的例子:
xml 代码
- <bean id="orderService" class="com.lizjason.spring.OrderService">
- <property name="companyName">
- <value>lizjasonvalue>
- property>
- <constructor-arg>
- <ref bean="orderDAO">
- constructor-arg>
- bean>
可以使用简洁形式将上述代码重写为:
xml 代码
- <bean id="orderService" class="com.lizjason.spring.OrderService">
- <property name="companyName" value="lizjason"/>
- <constructor-arg ref="orderDAO"/>
- bean>
简洁形式功能在1.2版本中可以使用。对于<ref local="..."></ref>没有简洁形式。
简洁形式不但可以节约你的打字,而且可以使XML配置文件清晰。它最引人注目的是当在一个配置文件中有大量定义
的类时可以提高易读性。
4. 对于构造器参数匹配,类型名比序号好。
当一个构造器含有一个以上的同种类型的参数,或者属性值的标签已经被占用时,Spring允许你使用从0计数的序号来解
决这些会
带来混淆的问题。例如:
xml 代码
- <bean id="billingService" class="com.lizjason.spring.BillingService">
- <constructor-arg index="0" value="lizjason"/>
- <constructor-arg index="1" value="100"/>
- bean>
像下面这样,利用类型属性来编写会更好一些:
xml 代码
- <bean id="billingService" class="com.lizjason.spring.BillingService">
- <constructor arg type="java.lang.String" value="lizjason"/>
- <constructor-arg type="int" value="100"/>
- bean>
使用索引可以稍稍减少一些冗长,但是和使用类型属性相比,它还是有容易发生错误的倾向和难于阅读的缺点。
你应该只在构造器参数不明确的时候,才使用索引这一方法。
分享到:
相关推荐
Spring XML配置十二个最佳实践
spring xml配置的12個技巧 spring xml配置的12個技巧 spring xml配置的12個技巧
Spring XML配置的12个技巧.doc
Spring中XML配置文件的十二个最佳方法.doc Spring中XML配置文件的十二个最佳方法.doc
在这篇文章里对于SpringXML配置我将向你展示12种比较好实战其中些实战不仅是好实战更是必要实战除 此以外还有其他原因例如领域模型设计都能影响XML配置但是这篇文章重点研究XML配置易读性和易管理性
自己总结的spring xml配置的思维导图,包括了spring的基础配置
spring bean配置 运行环境:eclipse 构建工具:maven 不提供maven构建,maven用来解决jar包的依赖
Spring 也表示是一个开源框架,是为了解决企业应用程序开发复杂性由Rod Johnson创建的。框架的主要优势之一就是其分层架构,分层架构允许您选择使用哪一个组件,同时为 J2EE 应用程序开发提供集成的框架。Spring使用...
Spring xml 配置案例 经典的Spring的xml配置,Spring事务的配置
spring配置最佳实践.zip spring配置最佳实践.zip spring配置最佳实践.zip
Spring Boot 最佳实践.pdf Spring Boot 最佳实践.pdf Spring Boot 最佳实践.pdf Spring Boot 最佳实践.pdf Spring Boot 最佳实践.pdf Spring Boot 最佳实践.pdf
SSH三大框架整合 struts2(使用xml配置)+hibernate(使用xml配置)+spring(使用xml配置),实现分页查询,其他增删该查的接口已经写好。
在这篇文章中我将给你展示12种的有关Spring XML配置文件的最佳技巧。请注意另外一些因素,例如域模型的设计,会影响到XML配置,但是这篇文章更关注于XML配置的可读性和可操控性。
Spring使用XML配置声明式事务 ,具体效果和过程看博文 http://blog.csdn.net/evankaka/article/details/45478007
Spring-hibernate结合使用全xml配置方式
Spring中XML配置文件的十二个最佳方法[借鉴].pdf
用于日志配置
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd ...