有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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

我有一个类,用作Springbean。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用所有包含的文件填充cssFiles字段。“classpath*:../../cssDir/”下的css扩展

现在我正致力于迁移到完整的注释配置,但我无法对注释执行相同的操作。这不起作用:

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

    // methods etc.
}

你知道吗


共 (2) 个答案

  1. # 1 楼答案

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

    @Value("classpath*:../../cssDir/*.css")
    private Resource[] cssFiles;
    
  2. # 2 楼答案

    申请。属性(yml)方法:

    someFiles=file:/some/path/*.someExtension