2011-10-18 63 views
4

我們可以使用Spring配置文件或.properties文件來存儲和檢索某些屬性,例如數據庫連接。 (DB URL,數據庫密碼等)在Java中設置類屬性,Spring config Vs系統屬性文件

我們也可以使用Spring配置文件和.properties文件一起,在這裏我們引用從.property文件屬性(像螞蟻)

,會是什麼以下情況的優點或缺點:

1 - 僅使用.properties文件。
2 - 僅使用Spring配置文件。
3 - 一起使用。

是否有任何的情景是更好的,當涉及到維護?

我需要三者之間進行選擇,我想有更好的判斷前,我與任何選項去!

在此先感謝!
- 伊瓦爾

回答

6

兩個在一起。使用可從項目中進行外部化的屬性文件來配置Spring。 Spring然後配置你的項目。大多數情況下,你不寫代碼來從屬性文件讀取。讓Spring管理它併爲對象注入適當的值。然後你有適當的依賴注入,你構建的工件不是特定於環境的。

缺點:

  1. 請問你的代碼知道是什麼文件,從加載的屬性?這不是一個財產嗎?它還通過讓代碼去尋找資源而不是被動地接受資源來違反依賴注入。
  2. 配置與您的工件緊密耦合,不能在不重建環境的情況下更改(BAD)。
  3. 您似乎認爲它的方式,它結合了其他兩個的缺點,但如果按照我所描述的方式進行,它消除了這些缺點,這是一個優點。
+2

組合的另一個優點是,在Spring配置文件保持文字值是煩人 - 春天XML是爲了這個目的過於雜亂。具有環境參數值的'.properties'文件更具可讀性和可維護性。春季注入價值的另一個小優點是Spring的內置類型轉換工具。 – millimoose