Property Injection for Spring Beans Configured via Annotations
Spring beans detected via annotations present a challenge when it comes to injecting property values. While the PropertyPlaceholderConfigurer can load properties from an external file, simply setting a bean property's value in the XML configuration won't work for these beans.
To address this, Spring 3 introduced EL support, allowing values to be injected dynamically. In particular:
Injected Value with EL Expressions
@Value("#{
@Value("#{
For instance, to inject the "results.max" property from an external properties file:
@Repository("personDao") public class PersonDaoImpl extends AbstractDaoImpl implements PersonDao { @Resource(name = "propertyConfigurer") protected void setProperties(PropertyPlaceholderConfigurer ppc) { maxResults = ppc.getProperties().getProperty("results.max"); } }
EL also provides more complex options for manipulating values, retrieving bean references, and resolving placeholders.
The above is the detailed content of How to Inject Property Values into Spring Beans Configured via Annotations?. For more information, please follow other related articles on the PHP Chinese website!