2016-04-16 11 views
0

Properties()オブジェクトに.propertiesファイルをロードした後、そのオブジェクトにアクセスする正しい方法は何ですか?Java:ロード後にPropertiesオブジェクトにアクセスする方法

これまで私が使用してきた方法の1つは、各Propertiesオブジェクトをユーティリティクラスの静的変数に格納してそこからアクセスすることです。しかし、実際にはいくつかのユーティリティ関数を使ってラッパークラスを作成するほうが良いかもしれないと私は考えていましたか?それが役に立つのかどうかはわかりません。私が見つけたほとんどの例は、プロパティファイルをどのようにロードするのかということに関心を持っていますが、それ以降は何が起こるべきではないのでしょうか。

一般的に承認された方法はありますか?賛否両論は何ですか?

+0

プロパティを正しくロードすると、 'System.getProperty()'メソッドを使ってアクセスできます。 –

+0

私は実際にそれを知りませんでした...いくつかの同じキーを持つ2つの異なるプロパティファイルを読み込むとどうなりますか? – Konstantine

+0

私の答えを見てください –

答えて

1

Rob Conklin氏の言ったように、(将来は)プロパティファイルベースのストレージを切り替えることができるように、抽象レベルを保つのが良いでしょう。

しかし、あなたはあなたのプログラムの中でどこからでも簡単にアクセスを得るためにSystem.getProperty()であなたの特性をマージ設定することができます(名前が衝突した場合)

あなたが他の人よりも優先されます最新の設定どちらのプロパティ

FileInputStream propFile = new FileInputStream("myProperties.properties"); 
Properties p = new Properties(System.getProperties()); 
p.load(propFile); 
// set the system properties 
System.setProperties(p); 

後でこのプロパティにアクセスすることができます System.getProperty("propName");

0

自分自身に大きな好意を持ち、プロパティファイルアクセスの周りにDAOを作成します。私が取り組んできたほとんどのシステムでは、この抽象化をいつも望んでいました。それは、プロパティファイルが将来のある時点でデータベース駆動になることを可能にします。

静的変数としてDAO内にキャッシュすることはできますが、それはクライアントからは非表示になります。

関連する問題