0
的web.xml:春天注射過濾器實現在web.xml中映射
<filter>
<filter-name>myFilter</filter-name>
<filter-class>com.mypackage.MyFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>myFilter</filter-name>
<url-pattern>/myFilterPattern/*</url-pattern>
</filter-mapping>
MyFilter:
public class MyFilter implements Filter {
@Autowired
InjectedBean someInjectedBean;
然而,攔截/myFilterPattern/*
請求,someInjectedBean
在MyFilter.doFilter(...)
仍然是空,這意味着它具有當未被注射。同樣的bean(InjectedBean
)在web.xml中未引用的其他上下文組件中被正確注入。
是因爲容器過濾發生在Spring上下文之外嗎?有沒有什麼辦法在Filter中實現映射到web.xml中的Spring注入?
您的意思是「在您的spring context中創建一個名爲** myFilterBean **的Bean」? – amphibient
是使用MyFilter類型的名稱myFilterBean創建一個bean。 MyFilter可以擴展GenericFilterBean。 –
你認爲該bean的範圍應該在上下文中?會議? – amphibient