springboot中注入FilterRegistrationBean不生效原因
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不生效原因相关推荐
- SpringBoot中注入RedisTemplate泛型异常
SpringBoot中注入RedisTemplate泛型异常 报错如下: org.springframework.beans.factory.UnsatisfiedDependencyExceptio ...
- SpringBoot中注入RedisTemplate实例异常解决
https://blog.csdn.net/zhaoheng314/article/details/81564166 最近,在项目开发过程中使用了RedisTemplate,进行单元测试时提示&quo ...
- SpringBoot中注入ApplicationContext对象的三种方式
在项目中,我们可能需要手动获取spring中的bean对象,这时就需要通过 ApplicationContext 去操作一波了! 1.直接注入(Autowired) @Component public ...
- spring boot整合Quartz 在Job类中注入其他对象报空指针异常java.lang.NullPointerException at com.sxt.quartz.QuartzDemo.e
情况在Job 类中注入RedisTemplate 报空指针异常 原因:我们使用JobDetailFactoryBean 帮我们创建对象 实际上调用的是AdaptableJobFactory 下的这个方 ...
- SpringBoot 中@Autowired 注入失效原因及解决方法
SpringBoot 中@Autowired 注入失效原因及解决方法 1.原因分析 1.1 包没有被扫描到通过@Autowired注入的类所在的包路径不在Application启动类所在的包/子包路径 ...
- springboot中使用@Transactional注解事物不生效的原因
一:在springboot中使用事物遇到的坑 1.我们知道spring中的事物分为两种:一种是编程式事物,一种是声明式事物.顾名思义,编程式事物是指通过代码去实现事物管理,这里不做过多说明.另一种是声 ...
- Springboot中手动new的对象无法注入交给Spring容器管理的原因及解决办法
Springboot中Bean的注入 我们都知道,Springboot可以使用方法级别注解(@Bean)和类级别注解(@Controller.@Component.@Service等)加包扫描的方式注 ...
- java filter注入,Spring-boot中Filter注入bean
Spring-boot中Filter注入bean 在spring中使用Filter的方式不用再多说,但是通常情况下我们在使用filter中都可能会注入部分配置的类或者部分具有特殊功能的业务类. 在这种 ...
- Spring 拦截器和过滤器中自动注入为 null 的原因及解决方案
起因 开发过程中在过滤器(filter)中注入Bean出现空指针异常,通过查找资料了解空指针的原因,特此记录. 问题分析 由于其他bean在service,controller层注入一点问题也没有,开 ...
最新文章
- 吴恩达机器学习(第六章)——正则化
- IP暴露接口IP白名单设置
- 您在2016年OpenStack峰会上错过的事情
- HMI使用自定义控件流程
- centos系统安装python3.8的操作过程 亲测可行 云服务器安装过程 200327
- SpringMVC 文件上传及下载
- 马化腾,你就把微信卖给运营商得了
- 【学习笔记】文献检索课程总结
- Fliqlo屏保mac
- 计算机网络——模拟信号(四)
- Linux错误 “cp: omitting directory”解决办法
- Excel之match index 和vlookup函数 和双条件查找匹配
- android多个广告sdk回调处理,Android逆向 今日头条的广告SDK分析
- 爬虫python下载网站所有图片_爬取某图片网站多页图片的python爬虫
- 到底Python编程好学吗 为什么会如此受欢迎
- mysql笔记手写_MySQL自用笔记
- 大数据时代 你的“云端”安全吗
- Access 2010/2013/2016/2019 VBA(Procedure)
- 高德地图android api定位失败,android 定位没有问题,iOS定位失败获取不到位置信息...
- 景区舆论舆情管理方案
热门文章
- mysql函数使用场景_mysql的函数和存储过程的比较,以及在实际场景中的使用案例...
- oracle—ebs_采购功能点操作手册,oracle—EBS_采购功能点操作手册
- BE的完整形式是什么?
- linux下的文件系统,Linux根文件系统(“/”文件系统)下的目录介绍
- git 怎么查看合并过来哪些代码_git整理纷乱的历史合并记录
- 有危害吗_涂料漆对身体有害吗?涂料漆危害怎么预防
- Java LocalDate类| isLeapYear()方法与示例
- python列表中随机选择_如何在Python中从列表中随机选择一个项目?
- react native仿微信性别选择-自定义弹出框
- C# Winform 窗体美化(九、嵌入窗体)