springboot中注入FilterRegistrationBean不生效原因

回顾

最近自定义了两个过滤器,接口请求返回加密sql注入处理过滤器,因为在封装一些工具包,我在单独调好之后,就打算做成一个注解,像springboot启动类上加@EnableScheduling一样,可以随意控制,当我不想让这俩过滤器生效的时候,那就不加这个注解就可以了。
当然我想到了FilterRegistrationBean的使用方法,注入这两个过滤器。
但是当我写完之后,打成包之后,发现只有sql注入过滤器生效。

原因

原因就是我通过@Bean注解注入FilterRegistrationBean时,没有对它们起别名,造成冲突,只能注入一个。
我的工程里,写了两个下边的方法:

注入加密过滤器
 /*** @return 注入加密过滤器*/@Beanpublic FilterRegistrationBean filterRegistration() {FilterRegistrationBean registration = new FilterRegistrationBean();registration.setFilter(new EncryptionFilter());registration.addUrlPatterns("/*");registration.setName("encryptionFilter");registration.setOrder(1);return registration;}
注入sql注入过滤器
 /*** @return 注入加密过滤器*/@Beanpublic FilterRegistrationBean filterRegistration() {FilterRegistrationBean registration = new FilterRegistrationBean();registration.setFilter(new SqlInjectManagerFilter());registration.addUrlPatterns("/*");registration.setName("sqlInjectManagerFilter");registration.setOrder(2);return registration;}

这个问题虽然简单,但是确实影响到我思路了,我最初一直在考虑是不是我做的springboot启动类加注解触发过滤器注入的方式不对,也是因为我看了下@EnableTransactionManagement的注入方式,我差点就怀疑@Import在打成工具包后不能多个使用的问题。尴尬~~~
当我一比较这俩方法的时候,我才怀疑到名字冲突了。因此就分别对它们加了名称如下:

 /*** @return 注入加密过滤器*/@Bean(name = "encryptionFilter")public FilterRegistrationBean filterRegistration() {FilterRegistrationBean registration = new FilterRegistrationBean();registration.setFilter(new EncryptionFilter());registration.addUrlPatterns("/*");registration.setName("encryptionFilter");registration.setOrder(1);return registration;}
 /*** @return 注入加密过滤器*/@Bean(name = "sqlInjectManagerFilter")public FilterRegistrationBean filterRegistration() {FilterRegistrationBean registration = new FilterRegistrationBean();registration.setFilter(new SqlInjectManagerFilter());registration.addUrlPatterns("/*");registration.setName("sqlInjectManagerFilter");registration.setOrder(2);return registration;}

springboot中注入FilterRegistrationBean不生效原因相关推荐

  1. SpringBoot中注入RedisTemplate泛型异常

    SpringBoot中注入RedisTemplate泛型异常 报错如下: org.springframework.beans.factory.UnsatisfiedDependencyExceptio ...

  2. SpringBoot中注入RedisTemplate实例异常解决

    https://blog.csdn.net/zhaoheng314/article/details/81564166 最近,在项目开发过程中使用了RedisTemplate,进行单元测试时提示&quo ...

  3. SpringBoot中注入ApplicationContext对象的三种方式

    在项目中,我们可能需要手动获取spring中的bean对象,这时就需要通过 ApplicationContext 去操作一波了! 1.直接注入(Autowired) @Component public ...

  4. spring boot整合Quartz 在Job类中注入其他对象报空指针异常java.lang.NullPointerException at com.sxt.quartz.QuartzDemo.e

    情况在Job 类中注入RedisTemplate 报空指针异常 原因:我们使用JobDetailFactoryBean 帮我们创建对象 实际上调用的是AdaptableJobFactory 下的这个方 ...

  5. SpringBoot 中@Autowired 注入失效原因及解决方法

    SpringBoot 中@Autowired 注入失效原因及解决方法 1.原因分析 1.1 包没有被扫描到通过@Autowired注入的类所在的包路径不在Application启动类所在的包/子包路径 ...

  6. springboot中使用@Transactional注解事物不生效的原因

    一:在springboot中使用事物遇到的坑 1.我们知道spring中的事物分为两种:一种是编程式事物,一种是声明式事物.顾名思义,编程式事物是指通过代码去实现事物管理,这里不做过多说明.另一种是声 ...

  7. Springboot中手动new的对象无法注入交给Spring容器管理的原因及解决办法

    Springboot中Bean的注入 我们都知道,Springboot可以使用方法级别注解(@Bean)和类级别注解(@Controller.@Component.@Service等)加包扫描的方式注 ...

  8. java filter注入,Spring-boot中Filter注入bean

    Spring-boot中Filter注入bean 在spring中使用Filter的方式不用再多说,但是通常情况下我们在使用filter中都可能会注入部分配置的类或者部分具有特殊功能的业务类. 在这种 ...

  9. Spring 拦截器和过滤器中自动注入为 null 的原因及解决方案

    起因 开发过程中在过滤器(filter)中注入Bean出现空指针异常,通过查找资料了解空指针的原因,特此记录. 问题分析 由于其他bean在service,controller层注入一点问题也没有,开 ...

最新文章

  1. 吴恩达机器学习(第六章)——正则化
  2. IP暴露接口IP白名单设置
  3. 您在2016年OpenStack峰会上错过的事情
  4. HMI使用自定义控件流程
  5. centos系统安装python3.8的操作过程 亲测可行 云服务器安装过程 200327
  6. SpringMVC 文件上传及下载
  7. 马化腾,你就把微信卖给运营商得了
  8. 【学习笔记】文献检索课程总结
  9. Fliqlo屏保mac
  10. 计算机网络——模拟信号(四)
  11. Linux错误 “cp: omitting directory”解决办法
  12. Excel之match index 和vlookup函数 和双条件查找匹配
  13. android多个广告sdk回调处理,Android逆向 今日头条的广告SDK分析
  14. 爬虫python下载网站所有图片_爬取某图片网站多页图片的python爬虫
  15. 到底Python编程好学吗 为什么会如此受欢迎
  16. mysql笔记手写_MySQL自用笔记
  17. 大数据时代 你的“云端”安全吗
  18. Access 2010/2013/2016/2019 VBA(Procedure)
  19. 高德地图android api定位失败,android 定位没有问题,iOS定位失败获取不到位置信息...
  20. 景区舆论舆情管理方案

热门文章

  1. mysql函数使用场景_mysql的函数和存储过程的比较,以及在实际场景中的使用案例...
  2. oracle—ebs_采购功能点操作手册,oracle—EBS_采购功能点操作手册
  3. BE的完整形式是什么?
  4. linux下的文件系统,Linux根文件系统(“/”文件系统)下的目录介绍
  5. git 怎么查看合并过来哪些代码_git整理纷乱的历史合并记录
  6. 有危害吗_涂料漆对身体有害吗?涂料漆危害怎么预防
  7. Java LocalDate类| isLeapYear()方法与示例
  8. python列表中随机选择_如何在Python中从列表中随机选择一个项目?
  9. react native仿微信性别选择-自定义弹出框
  10. C# Winform 窗体美化(九、嵌入窗体)