美文网首页
Spring 向过滤器中注入javaBean

Spring 向过滤器中注入javaBean

作者: LH_0811 | 来源:发表于2017-01-12 09:42 被阅读194次

在使用过滤器的时候,一般我们都是在filter标签中配置 过滤器的 。

但是,当需要在过滤器中注入Bean的时候,用这种配置方法,需要注入的对象就是一个null。
这里有个要注意的地方。filter的类中,需要注入的对象要自己set下,如果用注解的 话,会失败,大概是因为xml优先的原因吧。
所以这边我们需要用另外一种配置的方法。如下:

web.xml中

 <filter>
        <filter-name>DelegatingFilterProxy</filter-name>
        <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
        <init-param>
            <param-name>targetBeanName</param-name>
            <param-value>currentUserFilter</param-value><!-- 过滤器在spring中注册的id -->        
        </init-param>
        <init-param>
            <param-name>targetFilterLifecycle</param-name>
            <param-value>true</param-value>
        </init-param>
    </filter>

applicationContext.xml配置:

       <!-- 配置过滤器 -->
   <bean id="currentUserFilter" class="com.onepay.filter.CurrentUserFilter"> 
   </bean> 

最后的filter类



public class CurrentUserFilter implements Filter {

    @Resource
    private UserService userService;

    @Override
    public void doFilter(ServletRequest arg0, ServletResponse arg1, FilterChain arg2)
            throws IOException, ServletException {
        System.out.println("filter:"+userService);
        arg2.doFilter(arg0, arg1);
    }

    @Override
    public void init(FilterConfig arg0) throws ServletException {
        
    }

    @Override
    public void destroy() {
        
    }

}

相关文章

  • Spring 向过滤器中注入javaBean

    在使用过滤器的时候,一般我们都是在filter标签中配置 过滤器的 。 但是,当需要在过滤器中注入Bean的时候,...

  • 2019-12-20

    在过滤器中,不能自动注入spring中的bean用ApplicationContext的实例去.getBean(I...

  • 异常:NotWritablePropertyException

    Spring中属性注入的时候,JavaBean的属性命名规范,是xxx对应setXxx。 一般是以小写字母开头,也...

  • Spring之自动装配

    在应用中,我们常常使用标签为JavaBean注入它依赖的对象,同时也Spring为我们提供了一个自动装配...

  • Spring IOC容器初始化过程

    应用场景 spring IOC 提供了一个基本JavaBean容器,通过IOC模式管理依赖关系,并通过依赖注入和A...

  • Spring实战——Spring之旅

    Spring的使命:简化Java开发Spring 中的组件:任意形式的POJO或叫做JavaBean Spring...

  • java Bean

    javaBean 已经很少人用了。不过如果使用spring 就会看见javaBean 的扩展 spring bea...

  • [Spring]基于注解的IoC容器配置

    概述 Spring2.5 引入了注解。于是,一个问题产生了:使用注解方式注入 JavaBean 是不是一定完爆 x...

  • spring web之filter

    spring filter关系图 Spring的web包中中有很多过滤器,这些过滤器位于org.springfra...

  • spring in action

    # 开始spring之旅 ## 历史 javabean -> EJB -> spring ## why sprin...

网友评论

      本文标题:Spring 向过滤器中注入javaBean

      本文链接:https://www.haomeiwen.com/subject/geddbttx.html