SpringBoot之Servlet、Filter、Listener配置
https://blog.csdn.net/u010922732/article/details/91048683
在SpringBoot中是不需要配置web.xml的,那么原来在web.xml中配置的Servlet、Filter、Listener现在怎么弄呢?
SpringBoot提供了三种Bean FilterRegistrationBean
、ServletRegistrationBean
、ServletListenerRegistrationBean
分别对应配置原生的Filter、Servlet、Listener。
//例如自己下面新建的监听器 public class RequestListener implements ServletRequestListener { public void requestInitialized(ServletRequestEvent arg0) { ThreadContext.put("id", UUID.randomUUID().toString()); } public void requestDestroyed(ServletRequestEvent arg0) { ThreadContext.clearMap(); } }
@Bean public ServletListenerRegistrationBean registerListener() { // 创建Listener注册Bean ServletListenerRegistrationBean<EventListener> registration = new ServletListenerRegistrationBean<>(); // 创建自定义的Listener对象 SecondListener listener = new SecondListener(); // 注册Listener registration.setListener(listener); // 设置排序,在存在多个Listener实例的情况下确定Listener的执行顺序 registration.setOrder(1); return registration; }