Spring boot 自定义 Filter 教程
使用过 Spring boot 后的程序员都对它赞不绝口,它作为 Java 开发的一个快速搭建项目的一个脚手架,能极大的方便我们创建项目,加快开发进度等。想要完全的学会 Spring boot,就要理解其中的原理,Spring boot 官方的文档写的也非常的详细。大家想要的各种功能,各种 API 说明,对接其它框架都有相应的文档和案例。所以需要深入的同学可以到 Spring boot 的官网看看它的一些使用教程。
有人在 QQ 里问我,Spring boot 如何自定义 Filter ?
其实很简单,Spring boot 对 Filter、Servlet、Listener 都是支持的。对应的它提供了三个强大的组件,分别是 FilterRegistrationBean、ServletRegistrationBean、ServletListenerRegistrationBean。其中 ServletRegistrationBean 我们在《Spring boot 添加 Servlet(ServletRegistrationBean) 支持的教程》这篇文章中介绍过,我这里就不在多少了。具体说说 FilterRegistrationBean。
@Configuration
public class XttblogConfig{
@Bean
public FilterRegistrationBean xttblogFilter(){
FilterRegistrationBean registrationBean = new FilterRegistrationBean();
registrationBean.setFilter(new XttblogFilter());
registrationBean.setUrlPatterns(Arrays.asList("/hello","/myServlet"));
return registrationBean;
}
@Bean
public FilterRegistrationBean myFilter(){
FilterRegistrationBean registrationBean = new FilterRegistrationBean();
registrationBean.setFilter(new MyFilter());
registrationBean.setUrlPatterns(Arrays.asList("/hello","/myServlet"));
return registrationBean;
}
}
想要自定义 Filter 就是这么简单,几行代码就搞定。多个 Filter 就配置多个 @Bean。
有些人说什么功能需要用到 Filter 啊,基本用不到吧。千万别这样想,既然 Spring boot 留了接口就一定有用到的场景,比如在使用阿里巴巴的数据库连接池 Druid 的时候等。所以说多学学还是很有必要的。
本文由 创作,采用 知识共享署名4.0 国际许可协议进行许可。本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名。最后编辑时间为: 2021/05/18 01:59