नए उदाहरण वसंत के निर्भरता प्रबंधन को बाईपास करेंगे; आपको एप्लिकेशन संदर्भ से कॉन्फ़िगर किए गए सिंगलटन बीन को प्राप्त करने की आवश्यकता है। बजाय इस का उपयोग करें:
def service = ApplicationHolder.application.getMainContext().getBean("${property}Service")
मान लिया गया है कि 'संपत्ति' एक सेवा, FooBarService के लिए अर्थात के लिए आंशिक सेम नाम है, संपत्ति 'foobar' होना होगा। यदि यह 'FooBar' है तो आप GrailsNameUtils.getPropertyName उपयोग कर सकते हैं() इसे ठीक करने के:
import grails.util.GrailsNameUtils
String beanName = GrailsNameUtils.getPropertyName(property) + 'Service'
def service = ApplicationHolder.application.getMainContext().getBean(beanName)
स्रोत
2010-05-11 20:43:14
हाँ, यह काम करता है। मैंने बीन विधि प्राप्त करने की कोशिश की, लेकिन इसे 'फूबार' पास कर रहा था :) – rukoche
उपर्युक्त मेरे लिए काम नहीं कर रहा था जब तक कि मैंने '.getMainContext.' को '.getMainContext.'' से बदल दिया। – sebnukem
धन्यवाद, मैंने इसे देखने के बाद इसे ठीक किया संपादित किया गया था गलत तरीके से –