2011-11-24 30 views
0

我有獨立的Java應用程序,因爲我有各種模塊 應用程序從一個類main()方法開始,然後應用程序繼續。設置自己的環境變量查找

現在我想以鍵/值對的形式向各個模塊

我該怎麼辦呢共享變量?

更新:

從主(),它踢上應用,從那裏我會設置一些變量。 也從這裏啓動一些模塊的程序,

我只是想喜歡ServletContext中,SessionContext變量類似的功能,就像在Servlet容器

+1

我真的不明白你在問什麼。你能否試圖讓你的問題更清楚? –

回答

1

如果你正在尋找JVM寬簡單的字符串以鍵/值存儲配置,則系統屬性通常是一個不錯的選擇:http://docs.oracle.com/javase/tutorial/essential/environment/sysprop.html

任何地方在你的代碼,你可以使用:

String configThingValue = System.getProperty("config-thing"); 

System.setProperty("config-thing", "config thing value"); 

此外,System.getProperties()提供地圖樣的屬性集(它擴展Hashtable)的。

+0

但它會被限制在應用程序權限? 它會將這個變量添加到操作系統env或持續直到應用程序生活? – ajduke

+0

這嚴格限於您運行類的JVM。Java屬性擁有一個定義良好的文件格式,但它的持久性。如果您要這樣做,請使用System屬性中的單獨'Properties'實例。查看JavaDoc:http://docs.oracle.com/javase/6/docs/api/java/util/Properties.html – SimonC

0

我不明白你的全問題...
如果u只是想以鍵/值對的形式共享變量。
在java中u可以使用... Map
Map interface提供了三種collection視圖,允許地圖的內容被視爲一組鍵,收藏價值的,或設定鍵 - 值映射關係。地圖的順序被定義爲地圖集合視圖上的迭代器返回它們的元素的順序。一些地圖實現,比如TreeMap類,對它們的順序做出了特定的保證;其他人,如HashMap類,不。
AbstractMap,HashMap中,哈希表,TreeMap的使用根據您的requerment ....