springboot过滤器中引入自定义配置+过滤器中转发请求
一、问题
业务要求:过滤器中需要获取请求url并判断url是否是匿名就可以访问的,而匿名可访问的url需要提前定义在配置文件中,这就要求在过滤器中可以读取自定义的配置。
问题点:项目运行过程中,springboot默认加载顺序listener --》filter–》servlet。过滤器filter的优先级要高于servlet 因此 普通的采用@Value读取自定义配置是不行的。
二、在网上搜索两张方式
1、过滤器中重写init方法
ps:(这种方法我没有用,重写init过程中,报init方法在一个上级过滤器被最终定义过了)
在filter中 需要用上下文对象来获取。应用程序启动时,服务器将创建Filter的实例对象
并调用其init方法,完成对象的初始化功能
从而为后续的用户请求作好拦截的准备工作
filter对象只会创建一次,init方法也只会执行一次
2、直接定义好配置信息bean,利用SpringContextUtils在过滤器中直接读取
1、定义读取配置信息JwtProperty 类
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
@Component
public class JwtProperty {
//忽略的过滤路径 在配置文件中写
@V