मुझे लगता है कि यह लिंक गैर-बीन वर्ग में भी कहीं भी एप्लिकेशन संदर्भ प्राप्त करने का सबसे अच्छा तरीका दर्शाता है। मुझे यह बहुत उपयोगी लगता है। आशा है कि आप के लिए भी ऐसा ही होगा। नीचे इसका सार कोड दिया गया है
एक नया वर्ग बनाएँ ApplicationContextProvider.java
package com.java2novice.spring;
import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
public class ApplicationContextProvider implements ApplicationContextAware{
private static ApplicationContext context;
public static ApplicationContext getApplicationContext() {
return context;
}
@Override
public void setApplicationContext(ApplicationContext ac)
throws BeansException {
context = ac;
}
}
Application-reference.xml में एक प्रविष्टि जोड़ें
<bean id="applicationContextProvider"
class="com.java2novice.spring.ApplicationContextProvider"/>
एनोटेशन मामले में (आवेदन-संदर्भ के बजाय। xml)
@Component
public class ApplicationContextProvider implements ApplicationContextAware{
...
}
इस तरह संदर्भ प्राप्त करें
TestBean tb = ApplicationContextProvider.getApplicationContext().getBean("testBean", TestBean.class);
चीयर्स !!