zoukankan      html  css  js  c++  java
  • (转)Springboot 中filter 注入对象

    问题:我建立一个全局拦截器,当然,这是测试的时候建立的,我把它命名为LogFilter,它继承了Filter,web应用启动的顺序是:listener->filter->servlet,而因为项目应用了springboot,所以我们项目启动时,先初始化listener,因此注解的bean会被初始化和注入;然后再来就filter的初始化,再接着才到我们的dispathServlet的初始化,因此,当我们需要在filter里注入一个注解的bean时,就会注入失败,因为filter初始化时,注解的bean还没初始化,没法注入。

    那么,解决方法如下:

    public FilterRegistrationBean filterProxy(){
       FilterRegistrationBean registrationBean = new FilterRegistrationBean();
       DelegatingFilterProxy httpBasicFilter = new DelegatingFilterProxy();
       registrationBean.setFilter(httpBasicFilter);
       Map<String,String> m = new HashMap<String,String>();
       m.put("targetBeanName","logFilter");
       m.put("targetFilterLifecycle","true");
       registrationBean.setInitParameters(m);
       List<String> urlPatterns = new ArrayList<String>();
       urlPatterns.add("/*");
       registrationBean.setUrlPatterns(urlPatterns);
       return registrationBean;
    }
    这样你就可以在LogFilter里面添加@Autowired下的bean了。 
    
    public class LogFilter implements Filter {
        @Autowired
        @Qualifier(value="rztRabbitTemplate")
        private RabbitTemplate rabbitTemplate;
    @Bean
        public FilterRegistrationBean securityFilter() {
            FilterRegistrationBean registration = new FilterRegistrationBean();
            registration.setFilter(new DelegatingFilterProxy("SecurityFilter"));
            registration.addInitParameter("targetFilterLifecycle", "true");
            registration.addUrlPatterns("/*");
            registration.setOrder(102);
            return registration;
        }
        
        @Bean(name = "SecurityFilter")
        public SecurityFilter getSecurityFilter(){
            return new SecurityFilter();
        }
    View Code
    转自:http://blog.csdn.net/u013030980/article/details/55270818#comments
  • 相关阅读:
    小程序文档
    display: flex;
    时间戳格式化
    transition-分栏按钮动画
    animation与transition区别
    放大镜
    原生js实现瀑布流效果
    Javascript获取数组中最大和最小值
    scss基础
    C/C++ XMPP/Jabber 客户端类库对比/点评 (转)
  • 原文地址:https://www.cnblogs.com/zhangmingcheng/p/7490015.html
Copyright © 2011-2022 走看看