2012-12-24 18 views
12

द्वारा रिटर्न वैल्यू को कैसे बदला जाए मेरे पास डीएओ परत में रिटर्न वैल्यू के साथ एक विधि है, मैं अलग-अलग आवश्यकता के अनुसार वसंत एओपी द्वारा रिटर्न वैल्यू बदलना चाहता हूं, और फिर सर्विस लेयर में इसी विधि को भेजना चाहता हूं; लेकिन मुझे नहीं पता कि ऐसा कैसे करें।वसंत एओपी

+1

मैं स्प्रिंग एओपी के साथ आपकी मदद नहीं कर सकता, लेकिन मैं अत्यधिक सुझाव देता हूं कि यदि आप कभी भी स्टैक ओवरफ्लो समुदाय से सहायता चाहते हैं तो आप कुछ स्रोत कोड पोस्ट करते हैं। – ecbrodie

उत्तर

15

आप उस विधि के लिए @Around पहलू लागू कर सकते हैं जिसका रिटर्न प्रकार संशोधित किया जाना चाहिए। स्प्रिंग एओपी पहलू को स्प्रिंग एप्लिकेशन में जोड़ने के तरीके पर आप blog post पर एक नज़र डाल सकते हैं, फिर @Around पहलू लिखें। मैंने इस पहलू का उपयोग Memoizing के लिए एक विधि के परिणामों के लिए किया था, लेकिन आपके मामले में, आप ProceedingJoinPoint.proceed() का वापसी मूल्य ले लेंगे, इसे उचित कक्षा में टाइप करें, फिर इसे संशोधित करें और इसे वापस कर दें।

यदि आप पूरी तरह से एक पूरी तरह से अलग वस्तु को पूरी तरह से वापस करने की योजना बनाते हैं, तो इसके परिणामस्वरूप क्लासकास्ट अपवाद होगा, जब तक कि वास्तविक लौटाई गई वस्तु वापसी प्रकार का उप-वर्ग न हो।

+0

ठीक है, बहुत बहुत धन्यवाद – cleverUtd