この内容は古いバージョンです。最新バージョンを表示するには、戻るボタンを押してください。
バージョン:1
ページ更新者:T
更新日時:2019-02-19 08:52:00

タイトル: jarの引数を受け取る方法
SEOタイトル: 【Spring Boot】jarの引数(パラメーター)を受け取る方法

プロパティクラスの作成

import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;

@Component
public class AppProperties {
    
    
@Value("${app.mode:A}")
    private String mode;

    public String getMode() {
        return mode;
    }

    public void setMode(String mode) {
        this.mode = mode;
    }
}

上記の例では@Valueに定義したapp.modeをパラメータとして渡すことでmode変数に値が格納される。

コロンの次にデフォルト値を指定することができる。

 

パラメータを渡してjarを実行

java -jar test.jar --app.mode=B

 

パラメータの確認用のサンプルコード

import org.apache.log4j.Logger;
import org.springframework.batch.core.configuration.annotation.EnableBatchProcessing;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.CommandLineRunner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

import

@SpringBootApplication
@EnableBatchProcessing
public class TestApp implements CommandLineRunner{

    private static Logger log = Logger.getLogger(TestApp.class);

    @Autowired
    AppProperties appProperties;

    
    public static void main(String[] args) {
        SpringApplication.run(TestApp.class, args);
    }
    
    @Override
    public void run(String... args) throws Exception {
        log.info("AppPoroperties.mode: " +
appProperties.getMode());
    }
}

 

出力結果

AppPoroperties.mode: B