本篇文章为你整理了Spring中的观察者模式(springpublish观察者和监听者模式)的详细内容,包含有spring 观察者 springpublish观察者和监听者模式 观察者模式 java 观察者模式 uml Spring中的观察者模式,希望能帮助你了解 Spring中的观察者模式。
import org.springframework.context.ApplicationEvent;
import org.springframework.stereotype.Component;
* @Description TODO
* @Version 1.0.0
* @Date 2022/10/28
* @Author wandaren
public class OrderEvent extends ApplicationEvent {
public OrderEvent(Object source) {
super(source);
事件消费者(发送渠道)
package com.wanqi.event;
import com.wanqi.pojo.MyMessage;
import org.springframework.context.ApplicationListener;
import org.springframework.stereotype.Component;
* @Description TODO
* @Version 1.0.0
* @Date 2022/10/28
* @Author wandaren
@Component
public class EmailMessage implements ApplicationListener OrderEvent {
@Override
public void onApplicationEvent(OrderEvent event) {
final Object source = event.getSource();
if (source instanceof MyMessage) {
System.out.println("邮件: " + ((MyMessage) source).getTitle() + "---" + ((MyMessage) source).getMsg());
事件消费者(发送渠道)
package com.wanqi.event;
import com.wanqi.pojo.MyMessage;
import org.springframework.context.ApplicationListener;
import org.springframework.stereotype.Component;
* @Description TODO
* @Version 1.0.0
* @Date 2022/10/28
* @Author wandaren
@Component
public class WXMessage implements ApplicationListener OrderEvent {
@Override
public void onApplicationEvent(OrderEvent event) {
final Object source = event.getSource();
if(source instanceof MyMessage){
System.out.println("微信: " + ((MyMessage) source).getTitle() + "---" +((MyMessage) source).getMsg());
事件生产者
package com.wanqi.service;
import com.wanqi.event.OrderEvent;
import com.wanqi.pojo.MyMessage;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationContext;
import org.springframework.stereotype.Service;
* @Description TODO
* @Version 1.0.0
* @Date 2022/10/28
* @Author wandaren
@Service
public class MyTest {
ApplicationContext applicationContext;
@Autowired
public MyTest(ApplicationContext applicationContext) {
this.applicationContext = applicationContext;
public void msg(){
System.out.println("任务执行完成。。。。。");
OrderEvent orderEvent = new OrderEvent(new MyMessage("发送消息啦", "xxxxxxxxxxxx"));
//传播通道
applicationContext.publishEvent(orderEvent);
package com.wanqi;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
@SpringBootTest
class DesignPatternApplicationTests {
@Autowired
com.wanqi.service.MyTest test;
@Test
void contextLoads() {
test.msg();
以上就是Spring中的观察者模式(springpublish观察者和监听者模式)的详细内容,想要了解更多 Spring中的观察者模式的内容,请持续关注盛行IT软件开发工作室。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。