总结Spring中XML配置的十二个最佳实践 - 编程入门网
在父类bean中设置abstract=true,然后在子bean注明它自己的父类bean。例如:
class="com.lizjason.spring.AbstractService" parent="abstractService" class="com.lizjason.spring.ShippingService" ShippingService类从abstractService类那里继承companyName属性的值。如果你没有为一个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限制的问题是很少见的。 8.在开发阶段使用依赖检验 你可以在bean中给依赖检验的属性设置值,而不采用原先默认的空值,属性设置例如simple,object或all,以便容器进行依赖检验。当bean的全部的属性(或某类属性)需要被明确设置或自动绑定时,依赖检验便显得很有用。 class="com.lizjason.spring.OrderService" dependency-check="objects" 在这个例子里,容器确保为orderServicebean设置的属性不是primitives或者collections。为所有的bean设置默认依赖检测也是可以的,但是我们很少这样做,是因为有些bean的属性根本就不必设置。 9.为每个配置文件加上一个headercomment 最好使用descriptiveid和名称来代替在XML配置文件中的注释。此外,加上一个配置文件header也很有用处,它可以概述文件中所定义的bean。你可以选择将描述内容加入description标签中。例如: Thisfiledefinesbillingservice relatedbeansanditdependson baseServices.xml,whichprovides servicebeantemplates...... 使用description标签的一个好处是可以容易地利用工具从标签中选取出description(的内容)。 10.对于任何变化,要与队友积极交流 当你重构Java代码时,你需要随时更新配置文件并且通知队友。XML配置文件也是代码,它们是应用程序的至关重要的部分,但是它们难于阅读和维护。大部分时间你既要阅读XML配置文件又要阅读运行中的Java代码。 11.Setterinjection优于constructorinjection Spring提供3种类型的依赖注入:constructorinjection,setterinjection,和methodinjection。我们一般只用前两种类型。 class="com.lizjason.spring.OrderService" class="com.lizjason.spring.BillingService" 这个例子中,orderService类使用的是constructorinjection,而BillingService类使用的是setterinjection。constructorinjection可以确保bean不会在一个非法状态下被创建,但是setterinjection更加灵活并且更易管理,尤其当类存在很多属性并且其中一些是可选的情况下。 12.不要滥用依赖注入 作为最后一点,SpringApplication |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |