我是靠谱客的博主 苗条镜子,最近开发中收集的这篇文章主要介绍springboot实现事件发布监听,解耦操作ApplicationEventSpring相关,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

Spring相关

一、 spring 容器自定义发布事件,解耦

1. 创建自定义的事件注:必须继承ApplicationEvent

package com.ruoyi.demo;
import org.springframework.context.ApplicationEvent;
/**
* @Auther: ZHANG PU
* @Date: 2022/8/1 15:37
* @Description:
*/
public class UserRegistEvent extends ApplicationEvent {
public UserRegistEvent(Object source) {
super(source);
}
}

2. 发布事件

package com.ruoyi.demo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationEventPublisher;
import org.springframework.stereotype.Component;
/**
* @Auther: ZHANG PU
* @Date: 2022/8/1 15:43
* @Description:
*/
@Component
public class Component2 {
@Autowired
private ApplicationEventPublisher applicationEventPublisher;
/**
* 发布事件
*/
public void publishEvent(){
applicationEventPublisher.publishEvent(new UserRegistEvent("发布"));
}
}

3. 监听事件

package com.ruoyi.demo;
import org.springframework.context.event.EventListener;
import org.springframework.stereotype.Component;
/**
* @Auther: ZHANG PU
* @Date: 2022/8/1 15:39
* @Description:
*/
@Component
public class Component1 {
/**
* 接受事件
* @param userRegistEvent
*/
@EventListener
public void acceptEvent(UserRegistEvent userRegistEvent){
Object source = userRegistEvent.getSource();
System.out.println(source);
}
}

4. 测试


public static void main(String[] args)
{
ConfigurableApplicationContext run = SpringApplication.run(RuoYiApplication.class, args);
Component2 bean = run.getBeanFactory().getBean(Component2.class);
bean.publishEvent();
}

最后

以上就是苗条镜子为你收集整理的springboot实现事件发布监听,解耦操作ApplicationEventSpring相关的全部内容,希望文章能够帮你解决springboot实现事件发布监听,解耦操作ApplicationEventSpring相关所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(62)

评论列表共有 0 条评论

立即
投稿
返回
顶部