5

我可以使用 SSR(结构搜索和替换)在我的项目中轻松找到所有提及某些注释的内容。例如,我有以下基于弹簧的代码:

class DashboardController {

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

如果我按模式搜索,org.springframework.web.bind.annotation.RequestMapping我会找到我的代码。但是,如果我想查找带有参数化注释的方法,那么只查找带有@RequestMapping“/dashboard”url 注释的方法怎么办?

我可以简单地按@RequestMapping("/dashboard")字符串搜索,但是可以通过多种方式编写注释:

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

等等

4

3 回答 3

3

在 IntelliJ IDEA 14 中使用结构搜索和替换。复制现有的模板注释方法并将“/dashboard”作为参数添加到注释中,如下所示:

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

您可能还想编辑 $Annotation$ 变量并为其提供文本/正则表达式“RequestMapping” 这应该找到注释的所有可能格式(仅在方法上)。

于 2014-12-19T19:36:37.323 回答
1

你为什么不搜索这个:

@RequestMapping\(((.*?)value\s*=\s*)?"/dashboard"(.*?)\)
于 2010-08-31T12:28:00.833 回答
0

为什么不只是对 进行文本搜索@RequestMapping("/dashboard"),它不太可能给出那么多误报。

于 2010-08-31T11:56:57.877 回答