我已经定义了一个 javax.servlet.Filter
并且我有带有 Spring 注释的 Java 类。
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Bean;
@Configuration
public class SocialConfig {
// ...
@Bean
public UsersConnectionRepository usersConnectionRepository() {
// ...
}
}
我想在我的 --- 中获取 bean UsersConnectionRepository
Filter
,所以我尝试了以下操作:
public void init(FilterConfig filterConfig) throws ServletException {
UsersConnectionRepository bean = (UsersConnectionRepository) filterConfig.getServletContext().getAttribute("#{connectionFactoryLocator}");
}
但它总是返回 null
。如何在 Filter
中获取 Spring bean?
原文由 IturPablo 发布,翻译遵循 CC BY-SA 4.0 许可协议
尝试:
其中
usersConnectionRepository
是您的 bean 在应用程序上下文中的名称/id。或者更好:还可以查看 GenericFilterBean 及其子类。