监听器(Listener):
监听项目启动和关闭,只在项目启动和关闭时触发,一般用于处理项目的初始化工作
过滤器(Filter):
在Controller执行之前,对请求和响应进行预处理,比如设置编码格式等
拦截器(Interceptor):
可以在Controller执行前修改拦截请求,比如统一替换请求参数名称
可以阻止Controller执行,直接回复响应给客户端,比如拦截token错误的请求
可以在Controller回复响应后,做后续业务处理,比如记录日志等
过滤器和拦截器都可以修改请求,但它们定位不同
过滤器一般只用来处理编码等细节,而拦截器主要处理业务逻辑
虽然很多时候,它们都可以实现同样的效果,但是应当根据它们的定位来合理选择,不要混用
接下来,我们会单独写几篇博客,来完整地讲述如何在SpringBoot中定义监听器,过滤器,拦截器
