2010-08-10 12 views
5

मैं क्या करना चाहता हूं, इसमें एक सामान्य सेवा वर्ग है जिसमें "खोज" "retriveByID" आदि जैसी विभिन्न विधियां हैं। आदर्श रूप से यह कक्षा सेवा पैरामीटर का उपभोग करेगी और अनुरोध ऑब्जेक्ट को पॉप्युलेट करेगी और उचित डेटा स्रोत को सौंप देगी हैंडलर।क्या मैं स्प्रिंग के @RequestMapping और BeanNameUrlHandlerMapping का उपयोग एक दूसरे के साथ विधि में यूआरएल मैप करने के लिए कर सकता हूं?

मैं डोमेन ऑब्जेक्ट की खोज के आधार पर विभिन्न अनुरोध हैंडलर के साथ एक स्प्रिंग बीन के रूप में एक सेवा वर्ग को तुरंत चालू करना चाहता हूं। फिर बीन बीननाम यूआरएल हैंडलर मैपिंग का उपयोग यूआरएल के आधार पर एक अलग सर्विस क्लास का आह्वान करें।

<bean name="/sequence/*" class="org.dfci.cccb.services.SearchServiceImpl"> 
    <property name="searchHandler"> 
    .... 

मेरी समस्या यह है कि जब मैं ऐसा करने का प्रयास करता हूं तो मैं सेवा स्तर की उपयुक्त विधि का चयन करने के लिए विधि स्तर अनुरोध मैपिंग एनोटेशन का उपयोग नहीं कर सकता।

@RequestMapping("*/search/") 
QueryResult search(... 

वैकल्पिक रूप से यह सेम परिभाषाओं के माध्यम से एनोटेशन मूल्यों इंजेक्षन करने के लिए संभव है?

अद्यतन वहाँ भी है इस विषय पर एक Springsource लेख: http://blog.springsource.com/2008/03/23/using-a-hybrid-annotations-xml-approach-for-request-mapping-in-spring-mvc/

उत्तर

3

बहुत जानने के लिए कि यह वास्तव में काम करता है आश्चर्य हुआ। बस स्लैश निकालें:

@RequestMapping("*/search") 

और यह भी काम करता है:

@RequestMapping("search") 
+0

है यही कारण है कि मैं क्या सोचा है, भी, लेकिन मैं इसे डॉक्स में नहीं मिल सका। – skaffman

+1

आपको वाइल्डकार्ड की भी आवश्यकता नहीं है यह काम करता है: @RequestMapping ("/ search") – nialloc