[英]how to configure 'dynamic key' in properties file loaded using @PropertySource in Spring
[英]Spring PropertySource is not loaded in tests
我有一個spring @Component
類,該類用於從類路徑中的.properties文件中加載屬性。 該類如下所示:
@Component
@ConfigurationProperties("mail")
@PropertySource("classpath:config.properties")
public class MailProperties {
private String user;
public void setUser(String user) {
this.user = user;
}
public String getUser() {
return this.user;
}
}
我正在對上述類進行單元測試,但是在單元測試中, user
屬性始終為null
,這意味着它不是從.properties文件中加載的。 我嘗試在測試/資源下添加相同的屬性文件,但是沒有任何運氣。
我在這里做錯什么了嗎? 測試類如下所示:
@RunWith(SpringJUnit4ClassRunner.class)
@TestPropertySource("classpath:config.properties")
@ContextConfiguration(loader = AnnotationConfigContextLoader.class, classes = {MailProperties.class})
public class MailPropertiesTest {
@Autowired
private MailProperties mailProperties;
@Test
public void testUser() {
assertNotNull( this.mailProperties.getUser());
}
}
您在用戶字段上缺少@Value
批注。
@Value("${key.from.properties.file}")
private String user;
您也可以將注釋附加到設置器。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.