SpringBoot监听器Listener


监听器Listener:

SpringBoot 的监听器多用于监听Web应用中某些对象,信息的创建、销毁、增加、修改、删除等动作的发生,然后做出响应的处理。的那个范围对象状态发生变化时,服务器自动调用监听器对象的方法,
使用场景:

  • 系统统计在线用户
  • 系统加载时进行信息初始化
  • 系统网站的访问量
    等.....

实现流程:

  • 自定义事件,一般是继承ApplicationEvent抽象类
  • 定义事件监听器,一般是实现ApplicationListener接口
  • 启动的时候,需要把监听器加入到spring容器中
  • 发布事件

其中配置监听器的方法有四种:

  • applicationContext.addApplicationListener(new Mylistener())
  • 把监听器加入到spring容器中管理,即类上加@Component注解
  • 在application.properties文件中使用context.listenser.classes配置配置项
  • 使用@EventListener注解,在方法上面加入@EventListener注解,同时该类需要纳入到spring容器中管理

操作:

1、在需要被监听的类集成ApplicationEvent类,并重写该类的构造方法:
public class MyEvent extends ApplicationEvent{ public MyEvent(Object source,String params) { //定义成Object类 super(source); } }
2、使用刚才的四种方法的其中一种定义一个监听器,这里使用类上加@Component注解的方法:
@Component public class Mylistener implements ApplicationListener<MyEvent>{ //<写要监听的对象> @Override public void onApplicationEvent(MyEvent event) { System.out.println("我开始监听"+event.getClass()); } }

3、创建监听对象的时候,第一个参数source如何填写:

需要引入
@Component public class DemoPublisher { @Resource private ApplicationContext applicationContext; public void publish(String message){ applicationContext.publishEvent(new MyEvent(this,message)); } }


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM