天天看點

過濾器中注入spring管理的對象

不管三七二十一,粗略的了解,過濾器是在spring之前執行的

這個時候想在過濾器中使用spring管理的對象就得用代理過濾器來管理過濾器(DelegatingFilterProxy)

<!-- <filter>
    <filter-name>MyFilter</filter-name>
    <filter-class>com.package.MyFilter</filter-class>
  </filter> -->
  <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>           

修改後的在web.xml中的代碼如上,注釋中的是原有寫法。

在spring的配置檔案中添加一行:

<!-- 啟動項目時Spring建立一個過濾器對象交由代理過濾器管理(DelegatingFilterProxy) -->
    <bean id="MyFilter" class="com.package.MyFilter" />           

這個時候在過濾器中就能注入spring管理的對象了。