Spring中的观察者模式(springpublish观察者和监听者模式)

  本篇文章为你整理了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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: