How do I get a property value from an ApplicationContext object? (not using an annotation)

spring, spring-el

Solution

In the case where SPeL expression needs to be dynamic, get the property value manually:

somePropValue = ctx.getEnvironment().getProperty("someProp");

Problem

If I have: ``` @Autowired private ApplicationContext ctx; ``` I can get beans and resources by using one of the the getBean methods. However, I can't figure out how to get property values. Obviously, I can create a new bean which has an @Value property like: ``` private @Value("${someProp}") String somePropValue; ``` What method do I call on the ApplicationContext object to get that value without autowiring a bean? I usually use the @Value, but there is a situation where the SPeL expression needs to be dynamic, so I can't just use an annotation.

Original source