gpt4 book ai didi

java - 如何以编程方式将其他参数传递给 Spring Boot SpringApplication?

转载 作者:行者123 更新时间:2023-11-29 06:54:43 27 4
gpt4 key购买 nike

我可能遗漏了一些明显的东西,但我正在尝试弄清楚如何在运行应用程序时以编程方式设置/覆盖 Spring Boot SpringApplication 的属性。

默认情况下,我知道我可以将命令行参数传递给引导应用程序,但我想将 spring 引导应用程序嵌入到另一个 java 应用程序中,并从父应用程序中执行。我已将其作为我项目的依赖项包含在内。

在我的 Spring Boot 应用程序中,我有以下内容:

static public main(String [] args){
SpringApplication app = new SpringApplication(Sync.class);
app.setWebEnvironment(false);
app.setShowBanner(false);
app.run(args);
}

这允许我设置命令行参数,例如 --userName=Eric

虽然我意识到我可以在技术上以编程方式做同样的事情,并在代码中将 --userName=Eric 添加到我的 args[] 数组,但我认为必须有另一种更干净/更简洁的方式来传递参数/property 到我的 app。但我似乎无法在 SpringApplication 中找到允许我设置该类型值的任何其他方法。

我正在寻找可以让我执行以下操作的东西:

app.setProperty("username", "Eric");

我是否遗漏了一些明显的东西?

最佳答案

当您需要对正在创建的应用程序进行更多控制时,可以使用 SpringApplicationBuilder,在这种情况下,它是 properties方法。例如:

 new SpringApplicationBuilder(Application.class)
.properties("foo=bar").run(args);

还有采用PropertiesMap 的变体。

关于java - 如何以编程方式将其他参数传递给 Spring Boot SpringApplication?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36804265/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com