プロパティクラスの作成
|
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;
@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());
}
}
|
出力結果