2013-07-17 4 views
5

Ich habe 2 Eigenschaftsdateien a.properties und b.properties ich die zu Anwendungskontext hinzugefügt haben, wie:Mit @Value Anmerkung

<context:property-placeholder location="classpath:a.properties" /> 
<context:property-placeholder location="classpath:b.properties"/> 

erste Datei mit Eigenschaften db Anschlussdetails enthält (das funktioniert gut) Second - enthält Eigenschaften, die von einer bestimmten Bean verwendet werden. In dieser Bohne verwende ich diese Eigenschaften über @Value Anmerkung

@Value("#{qw.er}") 
private String someA;  
@Value("#{as.df}") 
private String someB; 

aber ich Ausnahme während des Startvorganges erhalten:

org.springframework.expression.spel.SpelEvaluationException: 
EL1008E:(pos 0): Field or property 'qw' cannot be found on object of type 
'org.springframework.beans.factory.config.BeanExpressionContext' 

Was mache ich falsch?

Ist es möglich, 2 context:property-placeholder in einer Datei zu verwenden?

PS: Eigenschaften qw.er und as.df nur b.properties in der Datei existieren

+0

Check out [this] (http://stackoverflow.com/questions/317687/how-can-i-inject-a-property-value-into-a-spring-bean-which-was-configured-use)). Sie können '@Value (" # {myProperties ['github.oauth.clientId']}} "' – GokcenG

+0

tatsächlich verwenden, habe nicht verstanden, was 'myProperties' in' @Value ist ("# {myProperties ['github.oauth .clientId ']} ")' – maks

+0

Entschuldigung, ich habe Ihre Frage missverstanden. Sie können '' verwenden und dann '@Value (" # {config ['as.df']} ") '' 'hilfreich sein. Ich werde auch nach ' GokcenG

Antwort

9

Es erklärt here

Nach Ihrer Eigenschaften definieren Sie

Hinweis $ Zeichen verwenden sollten .