我想搜索至少有3个字段的类,这些字段使用@Inject注释进行注释,如下所示:

class SpecificUiComponent extends UIComponent {
      @Inject
      MyService1 myservice1;
      @Inject
      MyService2 myservice2;
      @Inject
      MyService3 myservice3;
}


我设法创建了一个搜索模板,该模板可以找到扩展UIComponent的类,并且还具有@Inject批注,但是,如果将Annotation变量的“ min”出现次数设置为3,则Intellij仍返回仅包含一个的类@注入。

我想要进行上述搜索的原因是要找到那些具有许多外部防御能力的UI组件,因此它们过于复杂并且需要重构。如果您有更好的方法,也请分享。

最佳答案

您希望将字段的最小出现次数设置为3,而不是注释的最少出现次数。这是为了查找具有至少三个带有@Inject注释的字段的类,而不是查找具有至少三个@Inject注释的字段的类。要给出完整的示例,请使用以下模式:

class $Class$ extends $Parent$ {
  @Inject
  $FieldType$ $Field$;
}


编辑变量field以使出现次数最少的3和出现次数最多的unlimited
变量parent应启用text / regexp UIComponentApply constraint within type hierarchy复选框。

这将找到直接或间接扩展UIComponent的类,其中至少包含3个用@Inject注释的字段。

10-01 04:53
查看更多