zoukankan      html  css  js  c++  java
  • Spring ApplicationListenner 使用初步探索

    Spring ApplicationListenner 是事件机制的一部分,与ApplicationEvent抽象类结合完成ApplicationContext的事件

    ContextRefreshedEvent事件监听

     

    以Spring的内置事件ContextRefreshedEvent为例,当ApplicationContext被初始化或刷新时,会触发ContextRefreshedEvent事件.如下代码示例:

     
    @Component
    public class LearnListener implements ApplicationListener<ContextRefreshedEvent> {
      @Override
      public void onApplicationEvent(ContextRefreshedEvent event) {
       //获取所有的bean
       String[] definitionNames = event.getApplicationContext().getBeanDefinitionNames();
       for (String name : definitionNames) {
         //打印名称
         System.out.println("name = " + name);
       }
      }
    }

    自定义事件

     

    public class MyEvent extends ApplicationEvent {
      
      private Long id;
      private String message;
      public MyEvent(Object source) {
        super(source);
      }
     
      public MyEvent(Object source, Long id, String message) {
        super(source);
        this.id = id;
        this.message = message;
      }
      //get set 方法省略
    }
     @Component
    public class MyListener implements ApplicationListener<MyEvent> {
      @Override
      public void onApplicationEvent(MyEvent event) {
        System.out.println("监听到事件: "+event.getId()+"	"+event.getMessage());
      }
    }
    

     

    @SpringBootTest
    @RunWith(SpringRunner.class)
    public class ListenerTest {
      @Autowired
      private ApplicationContext applicationContext;
     
      @Test
      public void testListenner() {
        MyEvent myEvent = new MyEvent("myEvent", 9527L, "十二点了 该吃饭了~");
        applicationContext.publishEvent(myEvent);
       // System.out.println("发送结束");
      }
    }

     

  • 相关阅读:
    RvmTranslator7.3.2
    PipeCAD
    Open CASCADE Technology 7.5.0 released
    IsoAlgo 环路处理
    OD流向地图的绘制——利用ArcGIS与Gephi方法
    Python调用百度地图和高德地图API批量获取国内城市地址经纬度坐标
    ArcGIS地理数据库Geodatabase
    Gephi 安装与简明教程
    安装Java SDK
    ArcGIS中自定义脚本工具制作
  • 原文地址:https://www.cnblogs.com/dousil/p/14636194.html
Copyright © 2011-2022 走看看