Javaでのプロパティファイルから値を取得するソース例をご紹介します。
Javaでプロパティファイルを読み込む場合は「ResourceBundle」クラスや「Properties」クラスを使用します。
プロパティファイル
-
- プロパティファイルはクラスパスへ追加する為、srcディレクトリ直下へ作成します。
1 2 |
default.id=1234 default.name=abc |
Javaソース
-
- 通常業務ではプロパティファイルの読み込みはUtilクラスやConfigクラスを作成する事が多いと思うのでここではプロパティファイルのキーをenumクラスへ定義して取得する処理にしています。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
/** * <p>[概 要] プロパティファイルキーの列挙型クラス</p> * <p>[詳 細] </p> * <p>[備 考] </p> */ public enum PROPERTY_KEYS { DEFAULT_ID("default.id"), DEFAULT_NAME("default.name"); private String propertiesKey; private PROPERTY_KEYS( String propertiesKey ) { this.propertiesKey = propertiesKey; } public String getString() { return this.propertiesKey; } } /** * <p>[概 要] プロパティファイルの値を取得</p> * <p>[詳 細] </p> * <p>[備 考] </p> * @param field プロパティファイルのキー名 * @return プロパティファイルの値(パラメータがnullの場合はnullを返します。) */ public static String getProperties(String field){ if(field == null){ // パラメータがnullの場合、nullを返します return null; } // 「sample.properties」ファイルの読み込み ResourceBundle rb = ResourceBundle.getBundle("sample"); // プロパティファイルから引数に指定されたキー値を取得 String value = rb.getString(PROPERTY_KEYS.valueOf(field).getString()); return value; } |
JUnitサンプル
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
@Test public void getPropertiesTest() { // 期待値 String expectedId = "1234"; String expectedName = "abc"; // 実行 String resultId = UtilSample1.getProperties("DEFAULT_ID"); String resultName = UtilSample1.getProperties("DEFAULT_NAME"); String resultNull = UtilSample1.getProperties(null); // 検証 assertEquals("デフォルトIDが一致していません。", expectedId, resultId); assertEquals("デフォルト名称が一致していません。", expectedName, resultName); assertNull("NULLではありません。", resultNull); } |