আমার কাছে স্প্রিং মটরশুটি রয়েছে যা ক্লাসপথ থেকে টীকাগুলির মাধ্যমে তুলে নেওয়া হয়, যেমন eg
@Repository("personDao")
public class PersonDaoImpl extends AbstractDaoImpl implements PersonDao {
// Implementation omitted
}
স্প্রিং এক্সএমএল ফাইলে, একটি সম্পত্তি প্লেসহোল্ডার কনফিগারারের সংজ্ঞা দেওয়া আছে:
<bean id="propertyConfigurer"
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="location" value="/WEB-INF/app.properties" />
</bean>
আমি উপরের দেখানো শিমের মধ্যে app.properites থেকে একটি বৈশিষ্ট্য ইনজেকশন করতে চাই। আমি সহজভাবে কিছু করতে পারি না
<bean class="com.example.PersonDaoImpl">
<property name="maxResults" value="${results.max}"/>
</bean>
কারণ পার্সনডাওআইএমপিএল স্প্রিং এক্সএমএল ফাইলটিতে উপস্থিত হয় না (এটি ক্লাসপথ থেকে টীকাগুলির মাধ্যমে নেওয়া হয়)। আমি নিম্নলিখিত হিসাবে পেয়েছি:
@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
?
PropertyPlaceholderConfigurer
আর সুপারিশ করা বর্গ নয়। PropertySourcesPlaceholderConfigurer
পরিবর্তে পছন্দ । যে কোনও ক্ষেত্রে, আপনি খাটো এক্সএমএল সংজ্ঞা ব্যবহার করতে পারেন <context:property-placeholder />
।