如何在Spring中设置Environment变量

时间:2018-01-18 10:17:32

标签: spring spring-test

在代码尝试访问Spring Test案例中的System.getProperty()时遇到问题。在正在运行的测试用例上设置VM参数时,但要运行每个测试用例类,必须明确设置VM参数。

有没有办法在加载应用程序上下文之前在Spring中设置环境变量。

提前致谢

2 个答案:

答案 0 :(得分:1)

你可以借助静态块来做到这一点,静态块首先在其他任何地方执行

static {
    System.setProperty("", "");
  }

答案 1 :(得分:1)

请勿使用System.getProperty()

相反,使用Spring的Enviornment抽象与属性源(例如,@PropertySource)和@Value("${propertyName}")将属性的值注入您的生产组件(例如,@Service类等)。

然后,在使用@RunWith(SpringRunner.class)注释的集成测试中,使用@TestPropertySource来覆盖具有测试属性值的生产属性值。