我有一個快速的Java問題。哦,我相當新的Java和計算器,所以請體諒:)如何根據java中的屬性文件調用單例類的實例?
讓我試着解釋我的問題好一點。所以我必須遵循一個單例模式,說兩個類A類和B類:
public class A
{
private static final A INSTANCE = new A()
public static A getInstance()
{
return A.INSTANCE;
}
}
public class B
{
private static final B INSTANCE = new B()
public static B getInstance()
{
return B.INSTANCE;
}
}
現在,我訪問這些類的實例從另一個類,假設C:
public class testClassC
{
A class_instance = A.getInstance();
//or
//B class_instance = B.getInstance();
}
什麼我想實現的是這個(語法可能是完全錯誤的,在這一點上,我一直在嘗試不同的事情,他們沒有工作對我來說):如下
有一個屬性文件:
className=A
然後以某種方式讀取從屬性文件中的類名,這樣,當我改變A到B,我testClassC會讓我B.
的實例,我怎樣才能做到這一點?哦,再次testClassC是一個測試類,我有一大堆的JUnit測試類,那麼最好的方法是什麼?
謝謝
你想要它有多靈活?如果你不太在乎它的靈活性,你可以創建一個Map來存儲該類的名字以及該類的單例。 –
2013-04-22 22:28:00
@RobWatts我在哪裏存儲該Map對象?基本上我有三種類型的存儲類:RAM,XML和SQL。然後我有測試我的存儲的測試課程。我想要做的是有一個屬性文件,我可以將我的類名更改爲RAM,然後我的測試類將創建一個RAM存儲類實例,並對其進行測試。 – Bahrom 2013-04-22 22:31:54
你應該閱讀依賴注入,因爲這正是你正在尋找的。這是一篇關於Spring DI的文章(http://www.vogella.com/articles/SpringDependencyInjection/article.html)。你應該仔細閱讀它,特別是第6章。 – maba 2013-04-22 23:21:18