在Spring中使用通配符通过注释将文件作为资源列表注入

Utk*_*mir 8 java spring dependency-injection spring-annotations spring-io

我有一个用作春豆的课程.bean的定义applicationContext.xml如下:

<bean id="myClass" class="com.example.MyClass">
        <property name="cssFiles" value="classpath*:../../cssDir/*.css"/>
</bean>
Run Code Online (Sandbox Code Playgroud)

而且MyClass样子:

...
import org.springframework.core.io.Resource;
...
public class MyClass {
    private List<Resource> cssFiles;

    // methods etc.
}
Run Code Online (Sandbox Code Playgroud)

所以Spring用"classpath*:../../ cssDir /"下的所有扩展名为.css的文件填充cssFiles字段.

现在我正在努力转向完整的注释配置,但我无法用注释做同样的事情.这不起作用:

...
import org.springframework.core.io.Resource;
...
@Component
public class MyClass {
    @Value("classpath*:../../cssDir/*.css")
    private List<Resource> cssFiles;

    // methods etc.
}
Run Code Online (Sandbox Code Playgroud)

你有什么主意吗?

And*_*fan 16

如果您愿意使用数组而不是以下内容,请尝试以下操作List:

@Value("classpath*:../../cssDir/*.css")
private Resource[] cssFiles;
Run Code Online (Sandbox Code Playgroud)