从命令行将参数传递到Java类

时间:2018-01-08 16:45:51

标签: java spring

将参数传递到下面的TestConfig.class的最佳方法是什么?我无法理解......请帮忙

从命令行调用这样的方法

com.test.app.Launcher --param.1=test1 --param.2=test2

主要方法代码是:

public static void main(String[] args) throws Throwable {
   AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(TestConfig.class);
   // ...
}

稍后在程序中,我想访问如下参数......

public class TestConfig {

   // how do I access the values in clps here? is this right??

   @Autowired
   private Environment env;

   private final String PARAM_1 = env.getProperty("param.1");
   private final String PARAM_2 = env.getProperty("param.2");

}

1 个答案:

答案 0 :(得分:0)

就像在堆栈溢出的几个answer上可以看到的那样,您可以使用@Value来“导入”值:

@Value("${my.param}")
private String param;

这些参数可以来自多个来源,-Dreal command line parameters形状的命令行参数是一个。有关支持的来源列表,请参阅here