从命令行注入地图

时间:2019-05-01 08:16:41

标签: java spring spring-boot

我对春天还很陌生,所以请问这是一个愚蠢的问题。当我尝试启动程序时,出现以下错误。

java -jar target / rest-executor-1.0.jar rest.args = {name:'nokia',id:'233'}

<match mongo.*>
  @type mongo
  host localhost
  port 27017
  database my-db

  # Set 'tag_mapped' if you want to use tag mapped mode.
  tag_mapped

  # If the tag is "mongo.foo", then the prefix "mongo." is removed.
  # The inserted collection name is "foo".
  remove_tag_prefix mongo.

  # This configuration is used if the tag is not found. The default is 'untagged'.
  collection misc
</match>

如何在应用程序中从命令行注入地图?我的应用程序将在运行时被调用,所以我不能使用属性文件。

1 个答案:

答案 0 :(得分:0)

我不认为可以将JSON映射作为命令行选项传递。 通过命令行传递的属性应成对传递,格式为--key="value"。 因此,您可以尝试以下方法:

java -jar target/rest-executor-1.0.jar --args.name="nokia" --args.id="233"

然后在您的Java代码中:

@Value("args.name")
private String name;

@Value("args.id")
private Integer id;