我有一個類,我想有static final
變量。用於Spring的靜態最終替代方案DI
public static final Map<String, Long> ID_MAP;
我希望能夠通過Spring注入地圖。這不能做到B/C它是一個static final
。我的選擇是將其聲明爲static
並使用Spring與setter。像
public void setIDMapSpring (long iDMapSpring){
ID_MAP = iDMapSpring;
但是,這意味着另一個類可以改變的價值。有沒有我可以嘗試的替代方案。我正在考慮將Singleton與Map一起作爲final
字段,但我仍然需要弄清楚如何將Map以及其他可能的變量(我想標記爲final
)傳遞給getInstance
方法。另外,我很難找到最簡單,最不復雜的解決方案。
最簡單和最不復雜的解決方案是使地圖不是最終的。從某種意義上說,它實際上並不是最終的,因爲它在運行時發生了變化。 – pap 2012-03-02 08:25:38