There are three ways:
-
Use
WebApplicationContextUtils
:public void init(FilterConfig cfg) { ApplicationContext ctx = WebApplicationContextUtils .getRequiredWebApplicationContext(cfg.getServletContext()); this.bean = ctx.getBean(YourBeanType.class); }
-
Using the
DelegatingFilterProxy
– you map that filter, and declare your filter as bean. The delegating proxy will then invoke all beans that implement theFilter
interface. -
Use
@Configurable
on your filter. I would prefer one of the other two options though. (This option uses aspectj weaving)