Java 如何在Spring属性中展开通配符?

Java 如何在Spring属性中展开通配符?,java,spring,spring-boot,spring-io,Java,Spring,Spring Boot,Spring Io,我正在开发spring boot应用程序,并希望注入如下资源集合: @Value("${app.users-location}") Collection<Resource> csvResources; 但它并没有像预期的那样起作用: 对于这种情况,我希望看到Resource类型的5个元素的集合 我如何实现它?这是有效的: @Value("app.users-location") String foo; // inject "/feed/*.csv" 这也是有效的(): 这是有效

我正在开发spring boot应用程序,并希望注入如下资源集合:

@Value("${app.users-location}")
Collection<Resource> csvResources;
但它并没有像预期的那样起作用:

对于这种情况,我希望看到
Resource
类型的5个元素的集合

我如何实现它?

这是有效的:

@Value("app.users-location")
String foo; // inject "/feed/*.csv"
这也是有效的():

这是有效的:

@Value("app.users-location")
String foo; // inject "/feed/*.csv"
这也是有效的():


以下是关于您的问题的讨论:


当前版本似乎不支持它

以下是关于您的问题的讨论:


似乎当前版本不支持尼克·安特科维茨的人

提供了正确答案,但随后将其删除

他的解决方案是使用数组而不是列表:

@Value("${app.users-location}")
Resource[] resources;

@PostConstruct
public void init(){
    System.out.println(resources);
}

我检查过了,它真的很有效

尼克的人
m.antkowicz
-

提供了正确答案,但随后将其删除

他的解决方案是使用数组而不是列表:

@Value("${app.users-location}")
Resource[] resources;

@PostConstruct
public void init(){
    System.out.println(resources);
}

我检查过了,它真的很有效

这个图像应该显示什么?我的网络阻塞了imgur。此外,Spring没有也不能扩展通配符。您必须自动连接字符串并自己进行通配符扩展。@Michael它显示src/main/resources文件夹具有“提要”文件夹,该文件夹包含5个csvfiles@Michael,我知道我可以用手做任何事情,但我更喜欢让spring代替我工作)在这种情况下,即使spring可以扩展通配符,这是不对的
/feed/*.csv
是绝对路径,您试图使用相对路径。图像应该显示什么?我的网络阻塞了imgur。此外,Spring没有也不能扩展通配符。您必须自动连接字符串并自己进行通配符扩展。@Michael它显示src/main/resources文件夹具有“提要”文件夹,该文件夹包含5个csvfiles@Michael,我知道我可以用手做任何事情,但我更喜欢让spring代替我工作)在这种情况下,即使spring可以扩展通配符,这是不对的
/feed/*.csv
是绝对的,您正在尝试使用相对路径。这有点奇怪)现在没有时间/可能测试它,但很有趣。如果If有效,并且使用其他解决方案更简单,请毫不犹豫地接受它。这有点奇怪)现在没有时间/可能测试它,但很有趣。如果If有效,并且其他解决方案更简单,请毫不犹豫地接受。@m.antkowicz,请look@m.antkowicz,请看一看
@Value("${app.users-location}")
Resource[] resources;

@PostConstruct
public void init(){
    System.out.println(resources);
}