2016-06-20 25 views
0

Ich versuche, die Abhängigkeit in einen Servlet-Filter zu injizieren durch die Feder mit Bohne:Fehler bei Inject Abhängigkeit von DelegatingFilterProxy mit

definiere ich den Filter in web.xml:

<filter> 
    <filter-name>myFilter</filter-name> 
<filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class> 
</filter> 
<filter-mapping> 
    <filter-name>myFilter</filter-name> 
    <url-pattern>/*</url-pattern> 
</filter-mapping> 

Und ich injizieren eine Instanz in einem anderen Abschnitt Bohne in ***-***-context.xml:

<bean id="myFilter" class="com.filter.MyFilter"> 
    <property name="runPolicy" ref="RunPolicy"/> 
</bean> 

<bean id="RunPolicy" class="com.***.***.RunPolicyImpl"/> 

aber ich bekam Fehler:

failed myFilter: org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'myFilter' is defined

Was ich vermisse? Vielen Dank!

P.S. Ich habe Frühling Listener und Kontext-Parameter in der web.xml

Antwort

0

Ich denke, die XML-Datei, die Sie für die Deklaration der Beans in nicht im Klassenpfad verwenden. Haben Sie Ihre ***** - * -context.xml in applicationContext.xml importiert.

+0

eigentlich habe ich die applicationContext.xml im Modul nicht gefunden ... Aber da die '*** - context.xml 'zuvor erstellt wurde, sollte sie irgendwo in den root-Kontext von spring importiert werden. – yifan

+0

Sie haben Recht. Ich importiere *** context.xml in den Wurzel-Anwendungskontext von Spring. Dann funktioniert es. Vielen Dank – yifan