Bir süzgeci bir filtreye enjekte etmeye çalışıyorum, ancak çalışmasını sağlayamıyorum.Yay ve @ DelegatingFilterProxy'deOtomatikleştirilmiş
Enjekte edilen fasulye daima "boş" dur. Bu aynı Bean'i Kontrolörler ve HandlerInterceptors'da otomatik olarak başarılı hale getiriyorum, bu yüzden doğru bir şekilde açıklamalı.
Filtre sınıfı, Denetleyicilerin geri kalanıyla aynı temel paketin altında.
Bu Bu filtre her istekte tetikliyor filtrenin
@Component
public class CheckSession extends OncePerRequestFilter implements Filter {
@Autowired private Usuario usuario;
@Override
protected void doFilterInternal(
HttpServletRequest request,
HttpServletResponse response, FilterChain chain)
throws ServletException, IOException {
// always null
System.out.println("autowired " + usuario);
chain.doFilter(request, response);
}
}
kodudur benim web.xml
<filter>
<filter-name>CheckSession</filter-name>
<filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
</filter>
<filter-mapping>
<filter-name>CheckSession</filter-name>
<url-pattern>/panel/*</url-pattern>
</filter-mapping>
ilgili kısmıdır.
Bunlar i ne eksik "Usuario" fasulye
@Component
@Scope(value="session", proxyMode=ScopedProxyMode.TARGET_CLASS)
public class Usuario implements java.io.Serializable { ... }
yılında ek açıklamalar nelerdir? Teşekkürler!
gerekmiyor olarak başvurulan Sınıf sınıfınızı 'filtre sınıfı' olarak mı kullanıyorsunuz? Filtrenizin Bahar tarafından yönetildiğinden emin misiniz? Burada @Configurable kullanmamalısınız? – skegg99
Filtrenin adı, "filtre adı" ile belirtilen ile aynı şekilde CheckSession'dır. Bu ismi "filtre-adı" olarak değiştirirsem ilkbahardan "NoSuchBeanDefinitionException" alırım. Bu yüzden evet, filtre Bahar tarafından yönetiliyor (DelegatingFilterProxy aracılığıyla) ama otomatik telsiz mekanizması hala çalışmıyor ...:( – metacortechs