Mam poniższej konfiguracji wiosny:
<context:property-placeholder location="classpath:commonSql.properties" />
teraz w mojej klasie, kiedy używam @value("#{someproperty}")
, to nie działa. Potem zmieniłem na @value("${someproperty}")
i zadziałało.
Zgodnie z odpowiedzią this pytania @value("#{someproperty}")
to składnia Spel, która jest znacznie bardziej wydajna i złożona. Może również obsługiwać obiekty zastępcze obiektów i wiele więcej, ale w moim przypadku, dlaczego nie działa? Podczas gdy prosty działa, jak obie wartości $ i # są używane do oceny wartości.
Najważniejsze jest to, że @value("#{someproperty}")
nie działa, gdy działa @value("${someproperty}")
.
Zobacz tutaj: http://stackoverflow.com/questions/5322632/spring-expression-language-spel-with-value-dollar-vs-hash-vs –
@Bob Flannigon według odpowiedzi na pytania oba są takie same, więc oba powinny działać, ale tutaj nie działa, gdy wstawiam # – Krushna
Znacznik własny Stackoverflow ['el'] (http://stackoverflow.com/tags/el/info) ma kilka świetnych informacji na ten temat – andyb