복붙노트

[SPRING] Spring Framework 필터, 빈이 주입되지 않음

SPRING

Spring Framework 필터, 빈이 주입되지 않음

Servlet Filter에는 2 개의 항목이 있습니다. 하나는 web.xml에, 다른 하나는 Spring applicationContext.xml에 있습니다.

내가 creditProcessor bean을 주입하기를 원했기 때문에 filter를 applicationContext.xml에 추가했습니다.

유일한 문제는 web.xml의 항목이 JBoss에 의해 선택되어 사용 되었기 때문에 creditProcessor가 null이라는 것입니다.

bean의 stuffing을 할 수 있도록 Spring의 delegatingFilterProxy 나 비슷한 것을 사용해야합니까, 아니면 web.xml을 조정할 수 있습니까?

веб.хмл :

<filter>
    <filter-name>CreditFilter</filter-name>
    <filter-class>credit.filter.CreditFilter</filter-class>
</filter>

<filter-mapping>
    <filter-name>CreditFilter</filter-name>
    <url-pattern>/coverage/*</url-pattern>        
</filter-mapping>

Spring-applicationContext.xml :

<bean id="creditFilter" class="credit.filter.CreditFilter" >
      <property name="creditProcessor" ref="creditProcessor"/>
</bean>

해결법

  1. ==============================

    1.이런 식으로 필터 스프링을 관리 할 수는 없습니다. 설정으로 봄에 한 번 인스턴스화되고 서블릿 컨테이너에 한 번 인스턴스화됩니다. 대신 DelegatingFilterProxy를 사용하십시오.

    이런 식으로 필터 스프링을 관리 할 수는 없습니다. 설정으로 봄에 한 번 인스턴스화되고 서블릿 컨테이너에 한 번 인스턴스화됩니다. 대신 DelegatingFilterProxy를 사용하십시오.

  2. from https://stackoverflow.com/questions/3847436/spring-framework-filter-bean-not-injected by cc-by-sa and MIT license