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

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

  • 相关阅读:
    jenkins 项目部署方式二
    java 消息机制 ActiveMQ入门实例
    图片验证码大全
    Java列表分页查询结果导出到CSV文件,导入CSV文件并解析
    PHP之数组array
    JDK运行.Jar文件的控制台命令是什么
    ireport开发报表,Java和JSP端如何集成
    java Map及Map.Entry详解
    MFC
    Syms函数
  • 原文地址:https://www.cnblogs.com/lm970585581/p/9813651.html
Copyright © 2011-2022 走看看