2013-07-17 13 views
5

mam 2 pliki własności a.properties i b.properties Dodałem do kontekstu aplikacji jak:Korzystanie @Value adnotacji

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

pierwszy plik o właściwościach zawiera szczegóły połączenia (db to działa dobrze) Po drugie - zawiera właściwości, które są używane przez niektóre określone ziarna. W tym fasoli używam tych właściwości poprzez @Value adnotacji

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

jednak otrzymuję wyjątek podczas uruchamiania:

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' 

Co robię źle?

Czy to możliwe, aby użyć 2 context:property-placeholder w jednym pliku?

PS: Właściwości qw.er i as.df istnieją tylko w b.properties plików

+0

Sprawdź [to] (http://stackoverflow.com/questions/317687/how-can-i-inject-a-property-value-into-a-spring-bean-which-to-configured-using). Możesz użyć '@Value (" # {myProperties ['github.oauth.clientId']} ")' – GokcenG

+0

w rzeczywistości, nie zrozumiałem czym jest 'myProperties' w' @Value ("# {myProperties ['github.oauth .clientId ']} ")' – maks

+0

Niestety źle zrozumiałem twoje pytanie. Możesz użyć '', a następnie '@Value (" # {config ['as.df']} ") będzie pomocne. Poszukuję także użycia ' GokcenG

Odpowiedz

9

To jest wyjaśnione here

Po zdefiniowaniu swoich właściwości należy użyć

Zawiadomienie znak $ .

Powiązane problemy