Ek açıklamalarla sınıf yolundan alınan bir demet Bahar fasulyem var, örn.
@Repository("personDao")
public class PersonDaoImpl extends AbstractDaoImpl implements PersonDao {
// Implementation omitted
}
Spring XML dosyasında, tanımlanmış bir PropertyPlaceholderConfigurer vardır :
<bean id="propertyConfigurer"
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="location" value="/WEB-INF/app.properties" />
</bean>
App.properites özelliklerinden birini yukarıda gösterilen fasulye içine enjekte etmek istiyorum. Sadece böyle bir şey yapamam
<bean class="com.example.PersonDaoImpl">
<property name="maxResults" value="${results.max}"/>
</bean>
PersondaoImpl, Bahar XML dosyasında bulunmadığından (ek açıklamalarla sınıf yolundan alınır). Aşağıdaki kadarıyla aldım:
@Repository("personDao")
public class PersonDaoImpl extends AbstractDaoImpl implements PersonDao {
@Resource(name = "propertyConfigurer")
protected void setProperties(PropertyPlaceholderConfigurer ppc) {
// Now how do I access results.max?
}
}
Ama ilgilendiğim mülke nasıl eriştiğimi net değil miyim ppc
?
PropertyPlaceholderConfigurer
artık önerilen sınıf olmadığını lütfen unutmayın . PropertySourcesPlaceholderConfigurer
Bunun yerine tercih edin . Her durumda, daha kısa XML tanımını kullanabilirsiniz <context:property-placeholder />
.