springboot通过继承OncePerRequestFilter,在中
@Auto。。。
springboot和过滤器springboot2版本以上环境
通过继承OncePerRequestFilter类,在重写doFilterInternal⽅法实现拦截的具体业务逻辑,
在实现的过程中,需要注⼊service⽅法,但发现获取到server总是为null值。
解决⽅案:
1、在⾃定义类中,通过构造⽅法⽅式,将server⽅法注⼊进去
private xxxServer xxx;
public xxxFilter(xxxServer _xxx) {
= _xxx;
}
2、在配置类中,在server变量使⽤@Autowired注解,将⾃定义的注册即可
@Autowired
xxxService xxx;
@Bean
public FilterRegistrationBean<XXXFilter> perssionFilterRegister() {
FilterRegistrationBean<XXXFilter> registration = new FilterRegistrationBean<XXXFilter>();
registration.setFilter(new XXXFilter(xxx)); //注册
registration.addUrlPatterns("/*"); //拦截的URL
registration.setName("filterName");
registration.setOrder(1); //设置该执⾏的顺序
return registration;
}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论