2016-04-06 9 views
0
VI=Visa 
MC=Mastercard 
... 

Kann ich dies automatisch in eine Map<String, String> mit Spring injizieren?Wie springe ich eine Schlüsselwertkarte mit Spring 4?

Like:

@Resource("${myfile.properties}") 
private Map<String, String> creditcards; 

Ist das möglich?

+0

Verwenden Sie 'Property' anstelle einer Map? siehe http://stackoverflow.com/questions/4669805/java-properties-file-specs –

+1

http://stackoverflow.com/a/28413642/1121883 – user1121883

+0

Injizierende Liste funktioniert, ich habe es getan. Ich weiß nichts über Karte, aber ein Test mit einem Springjunitrunner sollte Ihnen schnell eine Antwort geben. –

Antwort

2

ein nettes Feature gefunden:

@Bean(name = "credit") 
public PropertiesFactoryBean mapper() { 
    PropertiesFactoryBean bean = new PropertiesFactoryBean(); 
    bean.setLocation(new ClassPathResource("credit.properties")); 
    return bean; 
} 

es überall spritzen wie folgt:

@Resource(name = "credit") 
private Properties credit;