注释 @Value(" $ {my.field}")如果您想将数据注入非静态字段,效果会很好。
就我而言,我正在为我的春季启动应用程序构建测试。我正在使用Junit。我有一些任务要做 @BeforeClass ,我需要Spring应用程序配置中的一些属性。我正在寻找一种优雅的方式来获取我的房产。
答案 0 :(得分:1)
您可以自己在静态设置方法中加载属性文件,然后选择测试中所需的值。对于某些人来说,它可能不如注射@Value方便,但它可以解决问题。
public class SomeTestClass {
private static String myProperty;
@BeforeClass
public static void setUpClass() throws Exception {
Properties prop = new Properties();
prop.load(new FileInputStream("src/main/resources/application.properties"));
myProperty = prop.getProperty("your.property.key");
}
@Test
public void shouldLoadProperty() throws Exception {
assertEquals("expectedValue", myProperty);
}
}