2010-08-31 15 views
5

में एनोटेशन ढूंढना मैं एसएसआर (संरचनात्मक खोज और प्रतिस्थापन) का उपयोग करके अपने प्रोजेक्ट में कुछ एनोटेशन के सभी उल्लेख आसानी से पा सकता हूं। उदाहरण के लिए मैं वसंत आधारित कोड निम्नलिखित है:IntelliJ IDEA

class DashboardController { 

    @RequestMapping("/dashboard") 
    public void doDashboard() { 
    [...] 
    } 
} 

अगर मैं पैटर्न org.springframework.web.bind.annotation.RequestMapping के आधार पर खोज की तुलना में मैं अपने कोड मिल जाएगा। लेकिन क्या होगा यदि मैं parametrized एनोटेशन के साथ एनोटेटेड विधियों को ढूंढना चाहता हूं, तो "/ डैशबोर्ड" यूआरएल के लिए एनोटेशन @RequestMapping के साथ केवल विधि पाएं?

मैं बस @RequestMapping("/dashboard") स्ट्रिंग से खोज सकते हैं, लेकिन एनोटेशन कई मायनों में लिखा जा सकता है:

@RequestMapping("/dashboard") 
@RequestMapping(value = "/dashboard", method = {RequestMethod.POST}) 
@RequestMapping(headers = "content-type=application/*", value = "/dashboard") 

आदि

उत्तर

3

उपयोग स्ट्रक्चरल खोजें और IntelliJ विचार 14. कॉपी मौजूदा टेम्पलेट में बदलें एनोटेट तरीकों और "/ डैशबोर्ड" एनोटेशन के लिए एक तर्क के रूप की तरह इसलिए:

class $Class$ { 
    @$Annotation$("/dashboard") 
    $MethodType$ $MethodName$($ParameterType$ $ParameterName$); 
} 

तुम भी $ एनोटेशन $ चर संपादित करें और इसे पाठ/regexp देने के लिए "RequestMapping" यह टिप्पणी की सभी संभव प्रारूप खोजना चाहिए चाहते हो सकता है (तरीकों पर केवल) ।

0

क्यों न सिर्फ @RequestMapping("/dashboard") के लिए एक पाठ खोज करते हैं, इसकी संभावना नहीं देने के लिए कई कि झूठी सकारात्मक।

+0

इस एनोटेशन को कैसे लिखा जा सकता है इसके कई तरीके हैं। उदाहरण के लिए, '@RequestMapping (value = "/ dashboard", method = {RequestMethod.POST}) 'आदि –

+1

फिर regex का उपयोग करें, जैसे' @RequestMapping (। *"/Dashboard "। *)' –

1

तुम ऐसा क्यों खोज नहीं है:

@RequestMapping\(((.*?)value\s*=\s*)?"/dashboard"(.*?)\)