spring Cloud gateway 实现过滤器接口,注入的bean 一直是空,不管使用@Autowired与@Resource,都是NULL

最近公司在使用spring Cloud gateway 网关,实现对文件预览的鉴权操作,本人第一次接触spring Cloud gateway ,看了很多大佬写的spring Cloud gateway 文章后,开始着手实现,想着在过滤器里做一个存储redis的操作,于是实现过滤器接口,并且在实现类里面 ,注入了 StringRedisTemplate ,准备用来操作redis的存储,写好后后运行,一直报StringRedisTemplate空指针异常,@Autowired与@Resource注解都试过了,就是不行,都快崩溃了 。

后面只能硬着头皮 用另外一种方式实现自定义过滤器,就是继承过滤器工厂,重新filter方法(前面不用它是因为看了好多文章在filter方法里面的逻辑,全是用java8 最新的lamda表达式写的,看不太懂,后面发现不用这个表达式写也可以实现0.0),于是,StringRedisTemplate 就可以成功注入 了,也就是继承过滤器工厂的方法可以实现bean的注入,而实现接口却不行,猜测可能是filter 比bean先初始化,所以注入不了,但是继承却又可以0.0,不知道啥原因,记录一下吧.想要实现bean的注入,以后就继承过滤器工厂

你可能感兴趣的:(spring,Cloud,gateway,注入bean为空,spring,java)