(2)spring boot 整合Listener

spring boot 整合 Listener 一共有两种方式。

注解方式
  1. 在启动类上增加 ServletComponentScan 注解。

    @SpringBootApplication
    @ServletComponentScan
    public class ListenerApplication {
    
       public static void main(String[] args) {
       	SpringApplication.run(ListenerApplication.class, args);
       }
    }
    
  2. 在自定义监听器上增加 WebListener 注解。

    @Slf4j
    @WebListener
    public class MyServletContextListener implements ServletContextListener {
       public void contextInitialized(ServletContextEvent sce) {
           log.info("服务器开启");
       }
    
       public void contextDestroyed(ServletContextEvent sce) {
           log.info("服务器关闭");
       }
    }
    
  3. 启动 spring boot。
    会看到 服务器开启 打印出。

非注解方式
  1. 在自定义监听器。
    @Slf4j
    public class MyServletContextListener implements ServletContextListener {
       public void contextInitialized(ServletContextEvent sce) {
           log.info("服务器开启");
       }
    
       public void contextDestroyed(ServletContextEvent sce) {
           log.info("服务器关闭");
       }
    }
    
  2. 配置类。
    @Configuration
    public class ListenerConfig {
        @Bean
        public ServletListenerRegistrationBean<MyServletContextListener>
        getServletListenerRegistrationBean(){
            ServletListenerRegistrationBean<MyServletContextListener> bean= new
                    ServletListenerRegistrationBean<MyServletContextListener>(new MyServletContextListener());
            return bean;
        }
    }
    
  3. 启动 spring boot。
    会看到 服务器开启 打印出。
非注解方式配置多个监听器
@Configuration
public class ListenerConfig {
     /**
     * 服务器监听器
     */
    @Bean
    public ServletListenerRegistrationBean<MyServletContextListener> getServletListenerRegistrationBean(){
        ServletListenerRegistrationBean<MyServletContextListener> bean= new ServletListenerRegistrationBean<MyServletContextListener>(new MyServletContextListener());
        return bean;
    }
     /**
     * 请求监听器
     */
    @Bean
    public ServletListenerRegistrationBean<MyHttpServletRequestListener> getMyHttpServletRequestListener() {
        ServletListenerRegistrationBean<MyHttpServletRequestListener> bean= new ServletListenerRegistrationBean<MyHttpServletRequestListener>(new MyHttpServletRequestListener());
        return bean;
    }
      /**
     * 会话监听器
     */
    @Bean
    public ServletListenerRegistrationBean<MySessionListener> getMySessionListener() {
        ServletListenerRegistrationBean<MySessionListener> bean= new ServletListenerRegistrationBean<MySessionListener>(new MySessionListener());
        return bean;
    }
}

因使用spring boot,配置会话监听器时,未监听到,因此配置会话监听器不起作用,后续如果找到方法,会进行更新。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值