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

标签 java spring dependency-injection spring-annotations spring-io

我有一个用作 spring bean 的类。该 bean 在 applicationContext.xml 中定义如下:

<bean id="myClass" class="com.example.MyClass">
        <property name="cssFiles" value="classpath*:../../cssDir/*.css"/>
</bean>

MyClass 看起来像:

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

    // methods etc.
}

因此 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.
}

你有什么想法吗?

最佳答案

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

@Value("classpath*:../../cssDir/*.css")
private Resource[] cssFiles;

关于java - 在 Spring 中通过注释使用通配符将文件作为资源列表注入(inject),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24738402/

相关文章:

java - Java 中的生产者消费者问题 - 缺少同步?

java - 使用泛型构造子类的实例

java - Spring Data Jpa 一对多关系。无法插入子记录 : foreign key is coming as NULL

java - 如果我已经有 .jar 可执行文件,如何使用谷歌云虚拟机实例作为服务器?

java - "spring.data.web.pageable.one-indexed-parameters=true"不起作用

asp.net-mvc-4 - 注入(inject) DbContext InRequestScope 不返回相同的对象实例

java - Android SDK 如何实现 OnClickListener

Java 正则表达式排序\b

angular - Angular 2 中的依赖注入(inject)在使用内联注入(inject)器和构造函数注入(inject)时创建多个实例

java - 使用 Toothpick DI 框架与 Java(仅限)项目一起使用