Как зарегистрировать аннотированный класс Spring @Configuration вместо файла applicationContext.xml в web.xml?

Я использую jsf и spring вместе в веб-приложении.Я настроил источник данных и фабрику сеансов в одном классе конфигурации, который использует аннотации, такие как @Configuration, @ComponentScan и т. Д. У меня нет файла applicationContext.xml в моем проекте , поскольку я обработка каждой записи контекста xml в классе конфигурации. Тестовый пример работает успешно, но когда я развертываю свое веб-приложение, он выдает ошибку

java.lang.IllegalStateException: WebApplicationContext не найден: не зарегистрирован ContextLoaderListener?

Теперь, если я передам класс слушателя в Интернете .xml,

<listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>

это дает мне ошибку,

/WEB-INF/applicationContext.xml не найден

Согласно документу ContextLoaderListener , это правда, что если я не дам contextConfigLocation в web.xml явно, он будет искать файл контекста Spring по умолчанию с именем applicationContext.xml в web.xml . Теперь, что мне делать, если я не хочу использовать файл контекста Spring и выполнять всю настройку с аннотациями? Как мне зарегистрировать класс слушателя ContextLoaderListener , чтобы без использования XML-файла и использования только аннотаций я мог запускать свое веб-приложение с помощью spring и jsf?

68
задан BalusC 27 January 2015 в 16:37
поделиться