Trovare annotazioni in IntelliJ IDEA
-
25-09-2019 - |
Domanda
I può facilmente trovare tutti i riferimenti di alcune annotazioni nel mio progetto utilizzando SSR (ricerca strutturale e sostituire). Ad esempio ho seguente codice basato primavera:
class DashboardController {
@RequestMapping("/dashboard")
public void doDashboard() {
[...]
}
}
Se cerco da modello org.springframework.web.bind.annotation.RequestMapping
di quanto io troverò il mio codice. Ma cosa succede se voglio trovare metodi annotati con l'annotazione parametrizzata, in modo da trovare unico metodo con annotazioni @RequestMapping
per "/ dashboard" url?
I può semplicemente cercare per stringa @RequestMapping("/dashboard")
, ma annotazione può essere scritto in diversi modi:
@RequestMapping("/dashboard")
@RequestMapping(value = "/dashboard", method = {RequestMethod.POST})
@RequestMapping(headers = "content-type=application/*", value = "/dashboard")
ecc.
Soluzione
Utilizzare ricerca strutturale e sostituisci in IntelliJ IDEA 14. Copiare il modello esistente metodi annotati e aggiungere "/ dashboard" come argomento per l'annotazione in questo modo:
class $Class$ {
@$Annotation$("/dashboard")
$MethodType$ $MethodName$($ParameterType$ $ParameterName$);
}
Si potrebbe anche voler modificare la variabile $ $ annotazione e dargli il testo / regexp "RequestMapping" Questo dovrebbe trovare tutti i possibili formati di annotazione (sui metodi solo).
Altri suggerimenti
Perché non si cerca in questo modo:
@RequestMapping\(((.*?)value\s*=\s*)?"/dashboard"(.*?)\)
Perché non basta fare una ricerca @RequestMapping("/dashboard")
, la sua improbabile che dare che molti falsi positivi.