2010-08-31 184 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"(.*?)\)