আমি আমার বসন্তের পরিবেশটি এটির মতো কনফিগার করতে টীকাগুলি ব্যবহার করছি:
@Configuration
...
@PropertySource("classpath:/config/default.properties")
...
public class GeneralApplicationConfiguration implements WebApplicationInitializer
{
@Autowired
Environment env;
}
এটি আমার সম্পত্তিগুলির default.propertiesঅংশ হতে বাড়ে Environment। আমি @PropertySourceএখানে মেকানিজমটি ব্যবহার করতে চাই , কারণ এটি ইতিমধ্যে পরিবেশের সেটিংসের (যেমন কনফিগার_ডির অবস্থান) উপর ভিত্তি করে বিভিন্ন ফলব্যাক স্তর এবং বিভিন্ন গতিশীল অবস্থানের মাধ্যমে সম্পত্তিগুলি ওভারলোডের সম্ভাবনা সরবরাহ করে। উদাহরণটি আরও সহজ করতে আমি ফ্যালব্যাকটি ছিনিয়ে নিয়েছি।
তবে, এখন আমার সমস্যাটি হ'ল আমি উদাহরণস্বরূপ আমার ডেটাসোর্স বৈশিষ্ট্যগুলিতে কনফিগার করতে চাই default.properties। আপনি কী সেটিংস ব্যবহার করে ডেটাসোর্সটি আশা করে তা না জেনে আপনি সেটিংসটি ডেটাসোর্সে পাস করতে পারেন
Properties p = ...
datasource.setProperties(p);
তবে সমস্যাটি হ'ল, Environmentবস্তুটি না কোনও Propertiesবস্তু এবং Mapনা কোনও কিছু তুলনীয়। আমার দৃষ্টিকোণ থেকে পরিবেশের সমস্ত মূল্যবোধ অ্যাক্সেস করা সহজভাবে সম্ভব নয়, কারণ এর সাথে তুলনীয় কোনও keySetবা iteratorপদ্ধতি বা কোনও কিছুই নেই।
Properties p <=== Environment env?
আমি কিছু অনুপস্থিত করছি? Environmentকোনওভাবে কি অবজেক্টের সমস্ত প্রবেশাধিকার অ্যাক্সেস করা সম্ভব ? যদি হ্যাঁ, আমি কোনও কোনও Mapবা Propertiesবস্তুর প্রবেশের মানচিত্র রাখতে পারি, এমনকি আমি এগুলি উপসর্গ দ্বারা ফিল্টার করতে বা ম্যাপ করতে পারি - একটি মানক জাভা হিসাবে সাবসেট তৈরি Mapকরতে পারি ... এটিই আমি করতে চাই। কোনও পরামর্শ?