आप एक एक (बूटस्ट्रैप के बंद होने को नष्ट सहित) हर जगह से applicationContext के संदर्भ में प्राप्त कर सकते हैं कोड की है कि हिस्सा का उपयोग कर:
def ctx = org.codehaus.groovy.grails.web.context.ServletContextHolder.servletContext.getAttribute(org.codehaus.groovy.grails.web.servlet.GrailsApplicationAttributes.APPLICATION_CONTEXT);
हो रही एक सेम के लिए एक संदर्भ ctx.beanName
के रूप में के रूप में आसान है।
import org.springframework.context.ApplicationContext;
import org.codehaus.groovy.grails.web.context.ServletContextHolder;
import org.codehaus.groovy.grails.web.servlet.GrailsApplicationAttributes;
public class SpringUtil {
public static ApplicationContext getCtx() {
return getApplicationContext();
}
public static ApplicationContext getApplicationContext() {
return (ApplicationContext) ServletContextHolder.getServletContext().getAttribute(GrailsApplicationAttributes.APPLICATION_CONTEXT);
}
@SuppressWarnings("unchecked")
public static <T> T getBean(String beanName) {
return (T) getApplicationContext().getBean(beanName);
}
}
और एक उदाहरण:
def bean = SpringUtil.getBean("beanName")
चीयर्स, सिगी
स्रोत
2009-03-05 11:24:40