2010-08-31 9 views
5

Posso facilmente trovare tutte le citazioni di alcune annotazioni nel mio progetto usando SSR (ricerca strutturale e sostituzione). Ad esempio ho seguente codice basato primavera:Trovare annotazioni in IntelliJ IDEA

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 annotazioni parametrizzate, quindi trova solo il metodo con annotazioni @RequestMapping per l'url "/ dashboard"?

posso semplicemente cercare per @RequestMapping("/dashboard") stringa, ma l'annotazione possono essere scritti in diversi modi:

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

ecc

risposta

3

Utilizzare ricerca strutturale e sostituzione in IntelliJ IDEA 14. Copiare il modello esistente metodi annotati e aggiungere "/ dashboard" come un argomento per l'annotazione come così:

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

si potrebbe anche voler modificare la variabile $ $ annotazione e dargli il testo/espressione regolare "RequestMapping" Questo dovrebbe trovare tutti i possibili formati di annotazione (sui metodi solo) .

0

Perché non basta fare una ricerca @RequestMapping("/dashboard"), sua improbabile che invia che molti falsi positivi.

+0

Esistono diversi modi per scrivere questa annotazione. Ad esempio, '@RequestMapping (valore ="/dashboard ", metodo = {RequestMethod.POST})' ecc. –

+1

Quindi utilizzare un'espressione regolare, ad esempio '@RequestMapping (. *"/Dashboard ". *)' –

1

Perché non si cerca in questo modo:

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