我有一個Servlet過濾器宣稱,像這樣:春天是不是自動裝配我的過濾器類
@Component
public class BlahBlahFilter extends OncePerRequestFilter implements Filter {
與財產申報像這樣:
@Autowired
@Qualifier("appProperties")
AppProperties properties;
我有同樣的自動裝配Autowired聲明在我的很多應用程序中的組件和他們沒有問題 - 但他們都是@Component標記的控制器,服務和其他雜項東西
但只是這個過濾器類被忽略,我無法弄清楚如何讓Spring將屬性注入它。
我在調試日誌文件中注意到,這是組件掃描過程中旁邊這個類的名字寫:
"Ignored because not a concrete top-level class"
咦?是的,它是一個具體的類,它不是抽象的,也不是一個接口。似乎很腥......
我該怎麼辦?
我看到一些其他的話題,他們絕對沒有幫助。他們都沒有一個可以接受的答案,也沒有任何一個帖子對我的情況有所幫助。
其他相關的代碼片段可以幫助:
的web.xml:
<filter>
<filter-name>blahBlahFilter</filter-name>
<filter-class>com.blah.BlahBlahFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>blahBlahFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<servlet>
<servlet-name>springmvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring-mvc.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
彈簧mvc.xml:
<context:annotation-config/>
<context:component-scan base-package="com.blah"/>
<mvc:annotation-driven/>