У меня есть куча Spring beans, которые извлекаются из пути к классам через аннотации, например.
@Repository("personDao")
public class PersonDaoImpl extends AbstractDaoImpl implements PersonDao {
// Implementation omitted
}
В XML файле Spring существует PropertyPlaceholderConfigurer:
<bean id="propertyConfigurer"
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="location" value="/WEB-INF/app.properties" />
</bean>
Я хочу добавить одно из свойств из app.properites в bean, показанное выше. Я не могу просто сделать что-то вроде
<bean class="com.example.PersonDaoImpl">
<property name="maxResults" value="${results.max}"/>
</bean>
Так как PersonDaoImpl не присутствует в XML файле Spring (его выбирают из класса path через аннотации). У меня есть следующее:
@Repository("personDao")
public class PersonDaoImpl extends AbstractDaoImpl implements PersonDao {
@Resource(name = "propertyConfigurer")
protected void setProperties(PropertyPlaceholderConfigurer ppc) {
// Now how do I access results.max?
}
}
Но мне непонятно, как я обращаюсь к интересующей мне собственности от ppc
?