Как найти все контроллеры в Spring MVC?

Чтобы предоставить некоторую документацию по API, сгенерированную во время выполнения, я хочу выполнить итерацию по всем контроллерам Spring MVC. Все контроллеры снабжены аннотацией Spring @Controller. В настоящее время я делаю это следующим образом:

for (final Object bean: this.context.getBeansWithAnnotation(
        Controller.class).values())
{
    ...Generate controller documentation for the bean...
}

Но первый вызов этого кода ЧРЕЗВЫЧАЙНОмедленный. Интересно, перебирает ли Spring ВСЕ классы в пути к классам вместо того, чтобы просто проверять определенные bean-компоненты. Контроллеры уже загружены, когда приведенный выше код запущен, журнал отображает их все с их сопоставлениями запросов, поэтому Spring MVC должен уже знать их все, и должен быть более быстрый способ получить их список. Но как?

12
задан kayahr 5 June 2012 в 13:17
поделиться