Ich versuche eine Liste von Resourcen mit Lazy zu autowiren. Dabei wird eine leere Liste autowired.
Mit dem gleichen Mechanismus wird eine Liste von String korrekt autowired und befüllt. Hier der Code dazu.
Gibt es einen Grund weswegen die Resource Liste nicht befült wird? Ich habe es auch mit ArrayList probiert, aber erfolglos. Vielen Dank
[CODE lang="java" title="Klasse A"]
@Component
public class A{
@Lazy
@Bean
public List<String> stringtest()
{
final List<String> l = Arrays.asList(new String[] { "a", "b" });
return l;
}
@Lazy
@Bean
public List<Resource> resourceslistinspringcontext()
{
final List<Resource> resourceListe = new ArrayList<>();
final List<String> liste = Arrays.asList(new String[] { "a", "b" });
for (final String pfad : liste)
{
resourceListe.add(new FileSystemResourceLoader().getResource(pfad.toString()));
}
return resourceListe;
}
}
[/CODE]
[CODE lang="java" title="Klasse B"]
@Component
public class B{
// befüllt
@Lazy
@Autowired
List<String> liste;
// leer
@Lazy
@Autowired
ArrayList<Resource> resourceListe;
}
[/CODE]
Mit dem gleichen Mechanismus wird eine Liste von String korrekt autowired und befüllt. Hier der Code dazu.
Gibt es einen Grund weswegen die Resource Liste nicht befült wird? Ich habe es auch mit ArrayList probiert, aber erfolglos. Vielen Dank
[CODE lang="java" title="Klasse A"]
@Component
public class A{
@Lazy
@Bean
public List<String> stringtest()
{
final List<String> l = Arrays.asList(new String[] { "a", "b" });
return l;
}
@Lazy
@Bean
public List<Resource> resourceslistinspringcontext()
{
final List<Resource> resourceListe = new ArrayList<>();
final List<String> liste = Arrays.asList(new String[] { "a", "b" });
for (final String pfad : liste)
{
resourceListe.add(new FileSystemResourceLoader().getResource(pfad.toString()));
}
return resourceListe;
}
}
[/CODE]
[CODE lang="java" title="Klasse B"]
@Component
public class B{
// befüllt
@Lazy
@Autowired
List<String> liste;
// leer
@Lazy
@Autowired
ArrayList<Resource> resourceListe;
}
[/CODE]