gpt4 book ai didi

java - 设置像这样的属性时,Spring boot 不会读取配置属性 "export my_variable=something"

转载 作者:行者123 更新时间:2023-11-30 01:48:32 25 4
gpt4 key购买 nike

编辑:请密切关注问题。 我想进行更改而无需重建和重新部署应用程序。我想即时进行更改。

我有一个简单的 Spring boot 应用程序,我试图测试应用程序是否可以读取环境变量,而无需重建和重新部署应用程序。

我有一个简单的主类,它也是一个@RestController

@SpringBootApplication
@RestController
@EnableScheduling
public class DemoApplication {

public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}

@Value("${taco.orders.pageSize}")
private String pageSize;

@GetMapping("/myName")
public String myName() {
return pageSize;
}

int i = 0;

@Scheduled(fixedRate = 2000L)
public void scheduled() {
System.err.println(++i + "-" + pageSize);
}
}

这是我的 application.yml 文件中的内容:

taco:
orders:
pageSize: fifty

这个打印很好“五十”。但是当我进入终端并为该键设置不同的值时,该新值不会反射(reflect)出来。

export TACO_ORDERS_PAGESIZE=NINETY

我还创建了一个git repo如果有人想重试。

最佳答案

您需要替换 yaml 文件中的环境变量。

taco: 
orders:
pageSize: {TACO_ORDERS_PAGESIZE : fifty}

taco.orders.pageSize 的默认值为 50,它将自动被您的环境变量 TACO_ORDERS_PAGESIZE 90 覆盖。

关于java - 设置像这样的属性时,Spring boot 不会读取配置属性 "export my_variable=something",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56907593/

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