zoukankan      html  css  js  c++  java
  • SpringBoot事件监听

    代码演示:

    package com.boot.event.eventdemo;
    
    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    import org.springframework.context.ConfigurableApplicationContext;
    
    @SpringBootApplication
    public class EventDemoApplication {
    
        public static void main(String[] args) {
            SpringApplication app = new SpringApplication(EventDemoApplication.class);
            //第一种方式 添加监听事件
            // app.addListeners(new MyApplicationListener());
            ConfigurableApplicationContext context = app.run(args);
            // 发布事件
            context.publishEvent(new MyApplicationEvent(new Object()));
    
            context.close();
        }
    }
    package com.boot.event.eventdemo;
    
    import org.springframework.context.event.ContextClosedEvent;
    import org.springframework.context.event.EventListener;
    import org.springframework.stereotype.Component;
    
    @Component
    public class HandlerEvent {
    //第四种方式,最常用方式    
        @EventListener(MyApplicationEvent.class)
        public void handlerEvent(MyApplicationEvent event) {
            System.out.println("接受到了事件====:"+event.getClass());
            System.out.println("接受到了事件====:"+event.getSource());
        }
    
        @EventListener(ContextClosedEvent.class)
        public void handlerEvent1(Object event) {
            System.out.println("接受到了事件:"+event.getClass());
        }
    }
    package com.boot.event.eventdemo;
    
    import org.springframework.context.ApplicationEvent;
    
    public class MyApplicationEvent extends ApplicationEvent {
        public MyApplicationEvent(Object source) {
            super(source);
        }
    }
    package com.boot.event.eventdemo;
    
    import org.springframework.context.ApplicationListener;
    
    //第二种方式 @Component
    public class MyApplicationListener implements ApplicationListener<MyApplicationEvent> {
    
        @Override
        public void onApplicationEvent(MyApplicationEvent event) {
            System.out.println("接受到了事件:"+event.getClass());
            System.out.println("接受到了事件:"+event.getSource());
        }
    }

    application.properties

    #第三种方式 
    context.listener.classes=com.boot.event.eventdemo.MyApplicationListener

    使用第四种方式配置监听器的打印结果:

  • 相关阅读:
    复制datatable的指定行到另外一个datatable
    .NET Framework 版本
    Excel读取
    asp.net技巧
    添加的控件的追赶事件
    MasterPage和内容页之间数据传递
    常用JS方法
    在服务器端修改HTML控件的属性
    IsPostBack深入探讨
    js(javascript)自定义的DateAdd和DateDiff函数以及当前日期的取法
  • 原文地址:https://www.cnblogs.com/lm970585581/p/9813651.html
Copyright © 2011-2022 走看看