【发布时间】:2018-05-25 12:42:26
【问题描述】:
我有一个从类路径读取 XML 文件的 Spring 服务。 XML 资源由@Value 注入
@Value("classpath:xyz/*.xyz.xml")
private Resource[] xyzResources;
现在,在单元测试中,这将找到放置在 src/test/resource 下但不在 src/main/resources 下的 XML 文件。 为什么?以及如何从测试环境中的两个资源文件夹中获取文件?
我的Spring版本是5.0+,spring boot 2.0+。
【问题讨论】:
-
改用
@Value("classpath*:xyz/*.xyz.xml")。 -
惊人的@aristotll!有用。您对文档有任何参考吗?我真的不知道去哪里找。
-
这里提到了资源路径通配符docs.spring.io/spring/docs/current/spring-framework-reference/…。虽然不是在资源文件的上下文中,而是在 ApplicationContexts 中。
-
PathMatchingResourcePatternResolver 的文档中也提到了 classpath*: 前缀:docs.spring.io/spring/docs/current/javadoc-api/org/…