The Java properties file can be used to store project configurations or settings.
constant.properties
ui.defaultIconUrl=graph.facebook.com/ek.pranav/picture
Environment – Interface representing the environment in which the current application is running.
@Configuration – Configuration classes are candidates for component scanning (typically using Spring XML’s <context:component-scan/> element) and therefore may also take advantage of @Autowired/@Inject at the field and method level (but not at the constructor level).
@PropertySource – Adds property sources to the enclosing Environment.
The values in the properties can be accessed by injecting Environment object to the configuration class.
ConstantPropertyInjector.java
@Configuration @PropertySource("classpath:META-INF/constant.properties") public class ConstantPropertyInjector { @Autowired Environment env; @Bean public ConstantImageHolder getConstantProperty(){ ConstantImageHolder constant = new ConstantImageHolder (); constant.setDefaultIcon(env.getProperty("ui.defaultIconUrl")); return constant; } }
Advertisements