我正面临一个有趣的问题。如果你能告诉我这件事,我会恭喜你。
这是一个场景;我在Spring上下文中使用Custom Filter。我将其指定为DelegatingProxyFilter。所以我让Spring上下文将此过滤器视为bean。我可以对@Autowired
类和ApplicationContext
类使用TranslationUtils
注释,因为您已经看到了以下代码。但我不能将@Autowired
与
CommonsMultiPartResolver(**org.springframework.web.multipart.commons.CommonsMultipartResolver**).
弹簧容器不能注入它。如果有什么我错过了,请告诉我。
代码片段这是我的过滤器:
@Component(value = "multipartExceptionHandlerFilter")
public class MultipartExceptionHandler extends OncePerRequestFilter {``
@Autowired // working !!
private TranslationUtils trans;
@Autowired // working !!!
private ApplicationContext applicationContext;
@Autowired // not working !!
@Qualifier("filterMultipartResolver") // also not working !!!
CommonsMultipartResolver commonsMultipartResolver;
@Override
protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain)
throws ServletException, IOException {
//do something
}
}
}
web.xml中描述的过滤器:
<filter>
<filter-name>multipartExceptionHandlerFilter</filter-name>
<filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
</filter>
<filter-mapping>
<filter-name>multipartExceptionHandlerFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
这是bean的定义:
<!-- Configure the multipart resolver -->
<bean id="filterMultipartResolver"
class="org.springframework.web.multipart.commons.CommonsMultipartResolver"
p:maxUploadSize="52428800" p:defaultEncoding="UTF-8"/>
那可能是什么问题?