【Java】 可変の設定を取り込むには ~ コマンドライン引数 / システムプロパティ ~

はじめに

可変の設定値をJavaプログラムに取り込むためには、以下のような方法が考えられる

[1] 外部ファイル
[2] DB
[3] コマンドライン引数
[4] システムプロパティ

今回は「[3] コマンドライン引数」「[4] システムプロパティ」を扱う

コマンドライン引数

 * 以下が詳しい
 * ただし、main()がないプログラムでは使用できない
http://nobuo-create.net/java-beginner-15/

サンプル

public class Main {
  public static void main(String[] args) {
    System.out.println("Hello " + args[0] + ", " + args[1] + "!!");
  }
}

実行コマンド

java Main World Mike

出力結果

Hello World, Mike!!

システムプロパティ

 実行時に「-Dオプション1=値1」によって設定し、 
System.getProperty("オプション1")によって取得する
http://www.task-notes.com/entry/20151004/1443951543

サンプル

public class Main {
  public static void main(String[] args) {
    String value1 = System.getProperty("key1");
    String value2 = System.getProperty("key2");
    System.out.println("Hello " + value1 + ", " + value2 + "!!");
  }
}

実行コマンド

java Main -Dkey1=World -Dkey2=Mike

出力結果

Hello World, Mike!!