SPRing是一個強大的java應用框架,廣泛地應用于JAVA的應用程序。為PlainOldJavaObjects(POJOs)提供企業級服務。Spring利用依靠注入機制來簡化工作,同時提高易測性。Springbeans及依靠,以及beans類所需的服務都在配置文件中進行了具體的說明,這個配置文件是典型的xml格式。但是它既冗長又不實用。對于需要定義大量Springbeans的大工程來說,我們難以閱讀和治理它。
版權聲明:任何獲得Matrix授權的網站,轉載時請務必保留以下作者信息和鏈接
作者:Jason;Li;evenbetter(作者的blog:http://blog.matrix.org.cn/page/evenbetter)
原文:http://www.onjava.com/pub/a/onjava/2006/01/25/spring-xml-configuration-best-practices.Html
譯文:http://www.matrix.org.cn/resource/article/44/44236_Spring+XML+Configurations.html
要害字:Spring;XML;Configurations
在這篇文章里,對于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">
lizjason
可以使用簡潔形式將上述代碼重寫為:
class="com.lizjason.spring.OrderService">
簡潔形式功能在1.2版本中可以使用。對于
簡潔形式不但可以節約你的打字,而且可以使XML配置文件清楚。它最引人注目的是當在一個配置文件中有大量定義的類時可以提高易讀性。
4.對于構造器參數匹配,類型名比序號好。
當一個構造器含有一個以上的同種類型的參數,或者屬性值的標簽已經被占用時,Spring答應你使用從0計數的序號來解決這些會帶來混淆的問題。例如:
class="com.lizjason.spring.BillingService">
新聞熱點
疑難解答