2010-08-31 38 views
5

我可以使用SSR(結構搜索和替換)輕鬆找到我項目中某些註釋的所有提及。例如,我有以下依據春天代碼:在IntelliJ IDEA中查找批註

class DashboardController { 

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

如果我通過搜索模式org.springframework.web.bind.annotation.RequestMapping比我會找到我的代碼。但是如果我想查找使用參數化批註註釋的方法,那麼爲「/ dashboard」url找到只有註釋@RequestMapping的方法?

我可以簡單地通過@RequestMapping("/dashboard")搜索字符串,但註釋可以寫在幾個方面:

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

回答

3

利用結構搜索和IntelliJ IDEA的14複製現有的模板替換註解的方法並添加「/儀表板」作爲參數傳遞給註釋像所以:

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

您可能還需要編輯$註釋$變量,並給它的文/正則表達式「RequestMapping」 這應該找到註解的所有可能的格式(在方法只) 。

0

爲什麼不只是做@RequestMapping("/dashboard")文本搜索,它可能不會獲得很多誤報。

+0

可以通過多種方式來編寫此註釋。例如'@RequestMapping(value =「/ dashboard」,method = {RequestMethod.POST})'等 – 2010-08-31 12:11:10

+1

然後使用正則表達式,像'@RequestMapping(。*「/ dashboard」。*)' – 2010-08-31 12:32:44

1

你爲什麼不搜索這樣的:

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