6

我有一個我用作spring bean的類。這個bean在applicationContext.xml等被定義:在Spring中使用通配符注入文件作爲資源列表

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

所以春天填充下「的classpath *與所有的.css擴展名的文件cssFiles領域:.. /../cssDir/「

現在我正在轉向完整的註釋配置,但我無法設法對註釋做同樣的事情。這是行不通的:

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

    // methods etc. 
} 

你有什麼想法嗎?

+0

它的工作原理是這樣的: '@Value(「classpath *:../../ cssDir/* .css」) private Resource [] cssFiles;'? –

+0

謝謝你,它的工作,你是一個英雄!你能寫這個答案,所以我可以將其標記爲接受的答案? –

回答

12

嘗試以下,如果你願意使用一個數組,而不是List

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

有沒有辦法在xml配置中構建這個資源數組? – hans

0

對於application.properties(陽明)做法:

someFiles=file:/some/path/*.someExtension 
相關問題