成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Spring中XML配置文件的十二個最佳方法(下)

開發 后端
本文介紹Spring中XML配置文件的十二個最佳方法中的后六個,包括為每個配置文件添加首部注釋,Setter注入優于構造函數注入等。

7. 使用id作為bean標識符
可以指定一個id或名稱來作為bean標識符。雖然使用id不能提高可讀性,但是它可以利用XML分析程序來對bean引用進行驗證。如果由于XML IDREF的約束而不能使用某個id,那么可以使用名稱來作為bean的標識符。XML IDREF的約束是:id必須以字母(或者XML規范中定義的標點符號)開頭,后面是字母、數字、連字符、下劃線、冒號或句點。實際上,很少會遇到XML IDREF約束問題。

8. 在開發階段使用依賴性檢查(dependency-check)
可以在bean定義中為dependency-check屬性設置一個非默認值,比如simple、objects或all,以便容器進行依賴性檢查。當需要顯式或通過自動綁定設置bean的全部屬性(或某類屬性)時,依賴性檢查便顯得很有用。

  1. <bean id="orderService" 
  2.         class="com.lizjason.spring.OrderService" 
  3.         dependency-check="objects"> 
  4.         <property name="companyName" 
  5.             value="lizjason"/> 
  6.         <constructor-arg ref="orderDAO"/> 
  7.     </bean>  

在這個例子中,容器確保為orderService bean設置的屬性不是primitives或collections。也可以為所有的bean設置默認依賴性檢查,但是我們很少這樣做,因為有些bean屬性根本就不必設置。

9. 為每個配置文件添加首部注釋
***使用描述性的id和名稱來取代XML配置文件中的內置注釋。此外,添加一個配置文件首部也很有用,它可以概述文件中所定義的bean??梢赃x擇將描述添加到description標簽中。例如:

  1. <beans> 
  2.         <description> 
  3.             This file defines billing service  
  4.             related beans and it depends on  
  5.             baseServices.xml,which provides  
  6.             service bean templates...  
  7.         </description> 
  8.         ...  
  9.     </beans> 

使用description標簽的一個好處是可以輕松地利用工具從標簽中選獲取描述內容。

10. 對于更改,團隊成員要積極交流
在重構Java代碼時,需要隨時更新配置文件并通知團隊成員。XML配置文件也是代碼,它們是應用程序的至關重要的部分,但是它們難于閱讀和維護。大部分情況下,需要同時閱讀XML配置文件和運行中的Java代碼。

11. Setter注入優于構造函數注入
Spring提供了3種類型的依賴注入:構造函數注入(constructor injection)、setter注入(setter injection)和方法注入(method injection)。我們一般只用前兩種。

  1. <bean id="orderService" 
  2.         class="com.lizjason.spring.OrderService"> 
  3.         <constructor-arg ref="orderDAO"/> 
  4.     </bean> 
  5.     <bean id="billingService" 
  6.         class="com.lizjason.spring.BillingService"> 
  7.         <property name="billingDAO" 
  8.             ref="billingDAO"> 
  9.     </bean>  

在這個例子中,orderService類使用的是構造函數注入,而BillingService類使用的是setter注入。構造函數注入可以確保 bean不會在一個非法狀態下被創建,但是setter注入更加靈活且更易于管理,尤其是在類包含許多屬性并且其中一些可選的情況下。

12. 不要濫用依賴注入
***一點,Spring ApplicationContext可以為您創建Java對象,但并不是所有的Java對象都應通過依賴注入來創建。例如,全局對象不應該通過 ApplicationContext來創建。Spring是一個很棒的框架,但是,就可讀性和易管理性而言,如果定義了大量bean,基于XML的配置就可能成為問題。過度使用依賴注入會使XML配置變得復雜且臃腫。要知道,借助于功能強大的IDE(如Eclipse和IntelliJ),Java代碼比XML文件更加易讀、易維護、易管理。

結束語
XML是通用的Spring配置方式。但如果定義了大量bean,基于XML的配置就會變得冗長而不實用。Spring提供了豐富的配置選項,恰當地利用其中的選項可以使XML配置更清晰,但是,有些選項(如autowiring)往往會降低配置文件的可讀性和可維護性。遵循本文中所描述的***實踐,將有助于您創建出清晰易讀的XML配置文件。

【編輯推薦】

  1. Spring2.0新特性點評
  2. Eclipse插件之Spring IDE
  3. Spring工作原理探秘
  4. 在Eclipse RCP中使用Spring框架
  5. Spring定時器的兩種實現方式
責任編輯:佚名 來源: Java天堂
相關推薦

2009-06-17 14:17:04

SpringXML配置文件

2009-11-02 10:15:53

ASP.NET MVC

2009-08-26 16:25:43

軟件測試

2022-04-12 13:44:19

數據分析算法人工智能

2009-11-09 14:44:52

開源UML工具

2022-01-18 10:15:18

Vue性能優化前端

2020-10-09 11:24:38

應用安全安全開發成熟度模型BSIMM

2009-11-02 13:50:53

WordPressCMS

2017-12-02 22:26:45

數據分析信息技術IT

2019-01-26 08:40:26

2013-12-17 09:39:55

安全事件2013年安全事件

2021-08-18 10:58:56

云計算云計算環境云計算趨勢

2010-06-18 15:44:24

開源UML工具

2013-07-12 10:41:36

移動應用云測試

2021-11-04 09:15:58

終端Linux命令

2011-03-21 17:09:38

數據表設計原則

2011-06-12 08:56:01

友情鏈接

2011-10-17 13:36:54

Chrome命令

2011-08-02 11:04:40

2011-06-27 13:34:40

黑客白帽安全研究
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久精品国产99国产精品 | 久久国产精品免费一区二区三区 | 久久av一区二区三区 | 在线免费观看日本 | 成人在线免费av | 久久99一区二区 | 日韩综合一区 | 九九热免费观看 | 99久久久久久99国产精品免 | 宅女噜噜66国产精品观看免费 | 欧美精三区欧美精三区 | 欧美8一10sex性hd | 一区二区三区视频在线观看 | 国产剧情一区 | 都市激情亚洲 | 日韩中文字幕一区二区 | 欧美日韩在线电影 | 日韩精品一区二区三区 | 免费看一级毛片 | 久久这里只有精品首页 | 罗宾被扒开腿做同人网站 | 99精品一区二区 | 色免费视频 | 91精品国产91综合久久蜜臀 | 成人一级片在线观看 | 日韩一区在线播放 | 一区二区三区回区在观看免费视频 | 日日夜精品视频 | 亚洲一区 | k8久久久一区二区三区 | av网站在线播放 | 99久久久久久久 | 天天射影院 | 欧美亚洲国语精品一区二区 | 国产精品久久久久久高潮 | 手机在线一区二区三区 | 中文字幕高清在线 | 久久99精品久久久久久 | 欧美在线a| 午夜精品一区二区三区在线视频 | 在线观看视频福利 |