यदि एक से अधिक संदर्भ हैं तो कहते हैं कि यदि आप वसंत एमवीसी का उपयोग कर रहे हैं तो आप इस तरह कुछ अधिक शक्तिशाली उपयोग कर सकते हैं।
public class SampleContextApplicationListener implements ApplicationListener<ApplicationContextEvent> {
private Map<String,ApplicationContext> contextMap = new Hashtable<String,ApplicationContext>();
@Override
public void onApplicationEvent(ApplicationContextEvent event) {
if(event instanceof ContextStartedEvent || event instanceof ContextRefreshedEvent){
this.getContextMap().put(event.getApplicationContext().getDisplayName(), event.getApplicationContext());
}
}
public Map<String,ApplicationContext> getContextMap() {
return contextMap;
}
}
फिर आप श्रोता आवश्यक होने पर ही इंजेक्षन कर सकते हैं और contextens के नक्शे को निकालने और उसके बाद अपने सभी सेम के लिए यह interogate, getBeanDefinitionNames()
@Autowired
private StatusTestsApplicationListener listener;
का उपयोग कर रहा संदिग्ध यह आसान होगा बंद, यह एक कोशिश करने और धन्यवाद देने के लिए! –
यह उन लोगों के लिए एक परीक्षण था जो इसकी आवश्यकता है: '@' ऑटोवायर एप्लिकेशनकॉन्टेक्स्ट एप्लिकेशन कॉन्टेक्स्ट; '@' टेस्ट सार्वजनिक शून्य परीक्षण कॉन्टेक्स्ट() { स्ट्रिंग [] beans = applicationContext.getBeanDefinitionNames(); (स्ट्रिंग बी: सेम) { System.out.println ("***" + b); } } –