You can do this in Spring 3 using EL support. Example:
@Value("#{systemProperties.databaseName}")
public void setDatabaseName(String dbName) { ... }
@Value("#{strategyBean.databaseKeyGenerator}")
public void setKeyGenerator(KeyGenerator kg) { ... }
systemProperties
is an implicit object and strategyBean
is a bean name.
One more example, which works when you want to grab a property from a Properties
object. It also shows that you can apply @Value
to fields:
@Value("#{myProperties['github.oauth.clientId']}")
private String githubOauthClientId;
Here is a blog post I wrote about this for a little more info.