Come ottenere in modo riflessivo l'elenco di tutti i controller (i migliori se non solo annotati, ma anche specificati in xml), corrispondenti ad alcuni URL specifici nell'applicazione Spring MVC?Ottenere in modo riflessivo l'elenco dei controller MVC primaverili che corrispondono all'URL specifico
In caso di annotato solo,
@Autowired
private ListableBeanFactory listableBeanFactory;
...
whatever() {
Map<String,Object> beans = listableBeanFactory.getBeansWithAnnotation(RequestMapping.class);
// iterate beans and compare RequestMapping.value() annotation parameters
// to produce list of matching controllers
}
potrebbe essere utilizzato, ma che cosa fare in caso più generale, quando i controllori possono essere precisate spring.xml config? E cosa fare con i parametri del percorso di richiesta?
Come pensate di utilizzare queste informazioni? Spring Tool Suite ti fornirà queste informazioni all'interno dell'IDE. Altrimenti, ecco un'utilità che ho scritto: https://github.com/kdgregory/pathfinder (mi unirò ad alcuni aggiornamenti questa settimana) – kdgregory
Sto cercando di implementare il sistema di menu dinamico per la mia applicazione web.Non ho bisogno di analizzare staticamente i codici sorgente (la mia Idea lo fa già bene), ho bisogno di analizzarlo in modo razionale, in modo riflessivo. –
Come pensate di trovare i controller rilevanti nella configurazione XML? Forse potresti accedere a 'org.springframework.web.bind.annotation.support.HandlerMethodResolver.getHandlerMethods()' in fase di runtime ed elaborare i metodi restituiti. –