Since Spring 3.0.3 there is EmbeddedValueResolverAware which will work same way as mentioned by another post which uses appContext.getBeanFactory().resolveEmbeddedValue("${prop}")
call.
To solve the problem:
-
Make your class to implement EmbeddedValueResolverAware interface and you will get resolver injected for you
-
Then where you will be able to retrieve properties as demonstrated in a code snippet:
String propertyValue = resolver.resolveStringValue("${your.property.name}");
Then your bean does not need to depend on ApplicationContext to retrieve properties you need.