Ich habe ein paar Frühlingsbohnen, die über Anmerkungen vom Klassenpfad aufgenommen werden, z
@Repository("personDao")
public class PersonDaoImpl extends AbstractDaoImpl implements PersonDao {
// Implementation omitted
}
In der Spring XML-Datei ist ein PropertyPlaceholderConfigurer definiert:
<bean id="propertyConfigurer"
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="location" value="/WEB-INF/app.properties" />
</bean>
Ich möchte eine der Eigenschaften von app.properites in die oben gezeigte Bean einfügen. Ich kann so etwas nicht einfach machen
<bean class="com.example.PersonDaoImpl">
<property name="maxResults" value="${results.max}"/>
</bean>
Da PersonDaoImpl nicht in der Spring-XML-Datei enthalten ist (es wird über Anmerkungen aus dem Klassenpfad abgerufen). Ich bin bis zu folgendem gekommen:
@Repository("personDao")
public class PersonDaoImpl extends AbstractDaoImpl implements PersonDao {
@Resource(name = "propertyConfigurer")
protected void setProperties(PropertyPlaceholderConfigurer ppc) {
// Now how do I access results.max?
}
}
Aber mir ist nicht klar, wie ich auf die Immobilie zugreife, an der ich interessiert bin ppc?
PropertyPlaceholderConfigurernicht mehr die empfohlene Klasse ist. Lieber PropertySourcesPlaceholderConfigurerstattdessen. In jedem Fall können Sie die kürzere XML-Definition verwenden <context:property-placeholder />.