本文介绍了在SpringBoot中读取环境变量的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
在 SpringBoot 中读取环境变量的最佳方法是什么?
在Java中,我是使用以下方法完成的:
What is the best way to read environment variables in SpringBoot?
In Java I did it using:
String foo = System.getenv("bar");
是否可以使用@Value
注释?
推荐答案
引用文档:
因此,由于Spring Boot允许您使用环境变量进行配置,并且由于Spring Boot还允许您使用@Value
从配置中读取属性,因此答案是肯定的.
So, since Spring boot allows you to use environment variables for configuration, and since Spring boot also allows you to use @Value
to read a property from the configuration, the answer is yes.
这很容易测试,以下结果将相同:
This can be tested easily, the following will give the same result:
@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
}
}
这篇关于在SpringBoot中读取环境变量的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!