在扩展时,我使用的是application-test.properties,我无法获得@Value将属性自动导入某些字段。
问题的详细情况
@Value("${spring.social.twitter.hosts.ads-api}")
private String baseUrlApiAds;
@Value("${spring.social.twitter.hosts.standard-api}")
private String baseUrlApiStandard;application-test.properties in src/test/resources:
# spring-social-twitter
spring.social.twitter.hosts.standard-api : https://api.twitter.com/1.1/
spring.social.twitter.hosts.ads-api : https://ads-api-sandbox.twitter.com/0/然而,在我的春季社交Twitter扩展(我在中提到的那个扩展)中,这些值从来没有绑定过。
我也试着把参数输入到application.properties里,也没有运气.
这是我的集成测试声明的最重要部分:
@RunWith(SpringJUnit4ClassRunner.class)
@WebIntegrationTest("server.port:9003")
@SpringApplicationConfiguration(classes = { Application.class, IntegrationConfig.class })
@ActiveProfiles(IntegrationConfig.PROFILE_TEST)
public abstract class IntegrationTest {
}有人能帮我一把吗?
发布于 2015-05-16 08:18:11
使用@Value注释的类似乎没有在spring之前初始化。如果spring初始化了类,那么它应该使用@Value注释来获取值。
发布于 2015-05-15 18:10:21
以上集成测试,请您尝试将此注释:
@PropertySource(value = "classpath:application-test.properties")
Mke确保文件存在于类路径中,具有@Value注释的类由spring初始化。
https://stackoverflow.com/questions/30264123
复制相似问题