美文网首页
事件 —— Application Event

事件 —— Application Event

作者: _王仔 | 来源:发表于2017-12-05 11:01 被阅读78次

    自定义事件

    public class DemoEvent extends ApplicationEvent{
    
        private static final long serialVersionUID = 1L;
        //交互的信息
        private String msg;
        
        //
        public DemoEvent(Object source , String msg) {
            super(source);
            this.msg = msg;
        }
    
        public String getMsg() {
            return msg;
        }
    
        public void setMsg(String msg) {
            this.msg = msg;
        }   
    }
    

    事件的监听器

    @Component
    public class DemoListener implements ApplicationListener<DemoEvent>{
        public void onApplicationEvent(DemoEvent demoEvent) {
            String msg = demoEvent.getMsg();
            
            System.out.println("我[bean-demoListener]接受到了[DemoEvent]发布的消息:" + msg);
        }
    }
    

    事件发布

    @Component
    public class DemoPublisher {
        
        @Autowired
        ApplicationContext applicationContext;
        
        public void publisher(String msg) {
            //消息发布
            applicationContext.publishEvent(new DemoEvent(this, msg));
        }
    }
    //注入applicationContext ,调用publishEvent发布消息
    

    配置类

    @Configuration
    @ComponentScan("com.wangzai.springboot.event.test")
    public class EventConfig{}
    

    启动类

    public class Application {
    
        @SuppressWarnings("resource")
        public static void main(String[] args) {
            AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(EventConfig.class);
            
            DemoPublisher demoPublisher = context.getBean(DemoPublisher.class);     
            
            demoPublisher.publisher("hello ~ app Event");
            
            context.close();
            
        }
    }
    
                                                                                            ——摘自springboot实战
    

    相关文章

      网友评论

          本文标题:事件 —— Application Event

          本文链接:https://www.haomeiwen.com/subject/pbeqixtx.html