gpt4 book ai didi

java - 在 Spring Boot 中读取环境变量

转载 作者:IT老高 更新时间:2023-10-28 13:51:12 29 4
gpt4 key购买 nike

SpringBoot中读取环境变量的最佳方法是什么?
在 Java 中,我使用:

String foo = System.getenv("bar");

是否可以使用 @Value 注释来做到这一点?

最佳答案

引用 the documentation :

Spring Boot allows you to externalize your configuration so you can work with the same application code in different environments. You can use properties files, YAML files, environment variables and command-line arguments to externalize configuration. Property values can be injected directly into your beans using the @Value annotation, accessed via Spring’s Environment abstraction or bound to structured objects via @ConfigurationProperties.

所以,既然 Spring boot 允许你使用环境变量进行配置,并且 Spring boot 也允许你使用 @Value 从配置中读取一个属性,那么答案是肯定的。


例如,以下将给出相同的结果:

@Component
public class TestRunner implements CommandLineRunner {
@Value("${bar}")
private String bar;
private final Logger logger = LoggerFactory.getLogger(getClass());
@Override
public void run(String... strings) throws Exception {
logger.info("Foo from @Value: {}", bar);
logger.info("Foo from System.getenv(): {}", System.getenv("bar")); // Same output as line above
}
}

关于java - 在 Spring Boot 中读取环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44803211/

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