2011-08-18 8 views
5

Dato un'app Web che utilizza completamente @RequestMapping per legare gli URL a un controller, mi chiedevo se esistesse un modo o un plug-in che producesse i mapping completi da url-to-controller dell'applicazione Web?Esiste una ricerca rapida per il mapping url-to-controller quando viene utilizzato @RequestMapping?

Simile a struts.xml in cui sono presenti tutti gli url che mappano a un'azione, quindi è possibile visualizzare queste informazioni in un punto centrale?

Altrimenti, quello che succede viene dato un url dallo schermo, finisco per fare una ricerca di file java ogni volta che voglio cercare il controller di url.

risposta

8

Eclipse ha plug SpringSource Tool Suite (è anche possibile scaricarlo standalone): http://www.springsource.com/developer/sts primo È necessario aggiungere progetto Spring nature al progetto, quindi passare a Java EE prospettiva e poi vedrai "Spring Elements" nel tuo progetto e lì vedrai tutte le mappature delle richieste (e molto altro).

modifica: funzioni utili come questo in STS mi hanno fatto passare da NetBeans a Eclipse.

+0

Hai ragione, proprio sotto il mio naso! La cosa però, come ho provato ora, la mia vista di Spring Explorer sta dicendo che i miei bean hanno errori che devono essere risolti, ma il progetto funziona bene, voglio dire, posso eseguire il progetto e non ci sono errori. Probabilmente solo l'errore IDE ... Continuerò a armeggiare per farlo funzionare, ma sì, c'è anche una vista @RequestMapping. Spero di riuscire a farlo presto. –

+0

Prova ad aggiornare il tuo progetto (F5) e/o riavviare Eclipse. Inoltre, se si dispone di più file di configurazione di Spring, STS deve averli "raggruppati insieme" utilizzando un Config Set - vedere le proprietà del progetto -> Spring -> Beans Support. È inoltre possibile disabilitare alcuni avvisi/errori nelle proprietà del progetto -> Spring. –

+0

Nel caso in cui qualcuno stia ancora cercando quella meravigliosa vista di primavera: "Spring Elements" non è mostrato in Package Explorer - devi passare a Project Explorer per vederlo. –

0

È sempre possibile collegare DefaultAnnotationHandlerMapping ed estrarre tutti i mapping. Qualcosa di simile:

@Autowired 
// org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping 
private DefaultAnnotationHandlerMapping defaultAnnotationHandlerMapping; 

public void outputMappings() { 
for (Map.Entry<String, Object> entry : 
    defaultAnnotationHandlerMapping.getHandlerMap().entrySet()) { 
     System.out.println(entry.getKey() + "->" + 
          entry.getValue().getClass().getName()); 
    } 

} 

Vedi AbstractUrlHandlerMapping.getHandlerMap() e DefaultAnnotationHandlerMapping

Problemi correlati