记录下开发过程中遇到的一些问题 -- Spring boot拦截器

拦截器的实现

    因本身项目需要,需要对IP地址进行限定,因此需要对访问的每个请求的IP地址进行判定,这个就需要用到拦截器,对所有的请求进行拦截,判断下发出请求的IP地址是否在系统允许的范围内。
	项目中本身自带了过滤器,会根据请求url进行过滤,但不适合对IP进行拦截,所以百度了半天,总结了下前人的经验,总结了一个还算可以的方法供自己参考。

实现拦截器的步骤:
1.新建一个类继承WebMvcConfigurerAdapter类,用来注册拦截器:
记录下开发过程中遇到的一些问题 -- Spring boot拦截器
2.新建一个拦截器类,继承HandlerInterceptorAdapter类,在重写父类的拦截方法
记录下开发过程中遇到的一些问题 -- Spring boot拦截器

注意点

因为我自定义的方法中需要查询数据库中的白名单IP,这样就需要引入dao来完成查询操作,但是拦截器是在最开始的时候就需要加载的,这个时候通过spring boot中的配置注入的bean就无法初始化,值为null,因此需要对拦截器进行bean操作,即在注册拦截器时,不要new一个拦截器类,要通过方法生成,并在这个方法上增加@Bean注解,在注册时调用方法,而类注解上,只能使用@Configuration,不能使用@Component;