【发布时间】:2019-05-10 21:54:08
【问题描述】:
我正在寻找一种干净的方法来使用从命令行(maven 项目)传递的环境值从属性文件中加载值。然后我计划在 Java 黄瓜测试中使用加载的值。
用法:mvn test -Denvironment=staging(然后从暂存文件加载值,即 application-staging.properties 等)。
我知道 spring boot 提供配置文件,想知道我是否可以使用通用 spring 框架(注释)的干净方法来做到这一点。
【问题讨论】:
-
这不是和Spring Boot有关吗?
-
糟糕,抱歉,是的——我很抱歉。
-
对于 straigt Spring,请查看 PropertySource 注释 - docs.spring.io/spring-framework/docs/current/javadoc-api/org/…
-
我有以下代码并使用 mvn test -Denvironment=dev 运行(我有一个名为 dev.properties 的文件),但是在尝试打印 url 时我得到了空值。 \@Configuration \@PropertySource("classpath:${environment}.properties") public class AppTest { \@Value("${base.url}") private String url; \@Bean public Config getConfig(){ Config config = new Config(); config.setUrl(url);返回配置; } @Test public void test1() { System.out.println("URL 是:"+ getConfig().getUrl()); } }