在Filter bean类中使用一些bean?

在我的filter bean类中,我添加了一些bean依赖关系(带有@Autowired注释)。但是在该方法中doFilter(),我所有的依赖项bean都为null。

public class FacebookOAuth implements Filter

{

@Autowired

private BusinessLogger logger;

@Autowired

private IUserSessionInfo userSessionInfo;

@Autowired

private FacebookOAuthHelper oAuthHelper;

public void init(FilterConfig fc) throws ServletException

{

// Nothing to do

}

public void doFilter(ServletRequest sr, ServletResponse sr1, FilterChain fc) throws IOException, ServletException

{

// HttpServletRequest req = (HttpServletRequest)sr;

HttpServletResponse res = (HttpServletResponse) sr1;

String code = sr.getParameter("code");

if (StringUtil.isNotBlankStr(code))

{

String authURL = this.oAuthHelper.getAuthURL(code);

this.oAuthHelper等于null(和其他依赖项bean)…

你可以帮帮我吗 ?

实际上,我不在服务器端(Spring)上使用MVC概念。对于我的副客户端,我使用Flex技术,并且BlazeDS servlet吨与服务器通信。

因此,这就是原因,我使用了Filter bean的概念。

因此,如何在Filter bean中处理会话bean的概念?

Skaffman,

我实现了你的想法,因此我使用以下命令更新了application.xml:

<bean id="FacebookOAuthHandler" class="com.xx.FacebookOAuthHandler" />

<bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">

<property name="mappings">

<props>

<prop key="/fbauth">FacebookOAuthHandler</prop>

</props>

</property>

</bean>

和我的FacebookOAuthHandler类:

public class FacebookOAuthHandler extends AbstractController

{

@Autowired

private BusinessLogger logger;

@Autowired

private IUserSessionInfo userSessionInfo;

@Autowired

private FacebookOAuthHelper oAuthHelper;

@Override

protected ModelAndView handleRequestInternal(HttpServletRequest request,

HttpServletResponse response) throws Exception {

// TODO

return null;

}

但是,当我的URL为:http://xx.xx.xx.xx/MyApp/fbauth时,永远不会调用此方法handleRequestInternal

回答:

我遇到了同样的问题,我的第一个想法是手动强制Spring将@Autowired注释应用于此处建议的过滤器

但是我不喜欢在Java类中对bean名称进行硬编码的想法。

我发现了一种更有效的方法:

public void init(FilterConfig filterConfig) throws ServletException {

SpringBeanAutowiringSupport.processInjectionBasedOnServletContext(this,

filterConfig.getServletContext());

}

以上是 在Filter bean类中使用一些bean? 的全部内容, 来源链接: utcz.com/qa/404655.html

回到顶部