6

Ich habe eine Klasse, die ich als eine Frühlingsbohne verwenden. Die Bohne ist in der applicationContext.xml wie definiert:Inject Dateien als Liste der Ressourcen mit Wildcard von Annotationen im Frühjahr

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

Und MyClass wie folgt aussieht:

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

    // methods etc. 
} 

So Frühling die cssFiles Feld mit allen Dateien mit Erweiterung .css unter „Classpath auffüllt *: .. /../cssDir/ ".

Jetzt arbeite ich an der vollständigen Annotation-Konfiguration, aber ich konnte nicht das gleiche mit Anmerkungen tun. Dies funktioniert NICHT:

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

    // methods etc. 
} 

Haben Sie eine Idee?

+0

funktioniert es wie folgt aus: '@Value (" Klassenpfad *: ../../ cssDir/*. Css ") private Ressource [] cssFiles;'? –

+0

Danke Mann, es hat funktioniert, du bist ein Held! Kannst du das als Antwort schreiben, damit ich es als akzeptierte Antwort markieren kann? –

Antwort

12

die folgenden Versuchen Sie, wenn Sie ein Array zu verwenden, anstatt eines List sind bereit:

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

gibt es eine Möglichkeit, dieses Ressourcenarray in der XML-Konfiguration zu erstellen? – hans

0

Für application.properties (yml) Ansatz:

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