Ich benutze jsf und spring zusammen in der Webanwendung. Ich habe die Datenquelle und die Sitzungsfactory in einer Konfigurationsklasse konfiguriert, die Anmerkungen wie @Configuration, @ComponentScan
usw. verwendet. Ich habe keine applicationContext.xml-Datei in meinem Projekt, da ich jeden Eintrag von Kontext-XML in der Konfigurationsklasse verarbeite. Der Testfall funktioniert erfolgreich, aber wenn ich meine Webanwendung bereitstelle, wird ein Fehler angezeigt
java.lang.IllegalStateException: Kein WebApplicationContext gefunden: Kein ContextLoaderListener registriert?
Wenn ich nun eine Listener-Klasse in web.xml gebe,
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
es gibt mir Fehler,
/WEB-INF/applicationContext.xml nicht gefunden
Gemäß dem Dokument von ContextLoaderListener
ist es wahr, dass, wenn ich contextConfigLocation
param nicht web.xml
explizit eingebe , nach der Standard-Spring-Kontextdatei mit dem Namen applicationContext.xml
in gesucht wird web.xml
. Was soll ich nun tun, wenn ich die Spring-Kontextdatei nicht verwenden und die gesamte Konfiguration mit Anmerkungen durchführen möchte? Wie sollte ich die Listener-Klasse registrieren ContextLoaderListener
, damit ich meine Webanwendung ohne Verwendung einer XML-Datei und nur mit Anmerkungen mit spring und jsf ausführen kann?