当前位置: 首页 > news >正文

【spring中event】事件简单使用

  1. 定义事件类
/*
* 1. 定义事件类
* 首先,我们创建一个自定义事件 UserRegisteredEvent,用于表示用户注册事件。
* */
public class UserRegisteredEvent extends ApplicationEvent {private final String email;public UserRegisteredEvent(Object source, String email) {super(source);this.email = email;}public String getEmail() {return email;}
}
  1. 创建事件发布器
@Service
public class UserService {private final ApplicationEventPublisher publisher;public UserService(ApplicationEventPublisher publisher) {this.publisher = publisher;}public void registerUser(String email) {// 这里可以添加用户注册逻辑,比如保存到数据库System.out.println("User registered: " + email);/** 2. 创建事件发布器* 我们创建一个服务类 UserService,* 在用户注册时发布 UserRegisteredEvent。* */// 发布用户注册事件publisher.publishEvent(new UserRegisteredEvent(this, email));}
}
  1. 创建事件监听器
/*
* 3. 创建事件监听器
* 然后,我们创建一个监听器 EmailService,在收到 UserRegisteredEvent 时发送欢迎邮件。
* */
@Component
public class EmailService {@EventListenerpublic void onUserRegistered(UserRegisteredEvent event) {String email = event.getEmail();// 这里模拟发送邮件System.out.println("Sending welcome email to: " + email);}
}

4、启动类

@SpringBootApplication
public class MytestApplication implements CommandLineRunner {@Autowiredprivate UserService userService;public static void main(String[] args) {SpringApplication.run(MytestApplication.class, args);}@Overridepublic void run(String... args) {// 模拟用户注册userService.registerUser("user@example.com");}
}

http://www.mrgr.cn/news/39941.html

相关文章:

  • ubutun nginx 安装和解决端口占用问题
  • Artec Leo 3D扫描助力Illumaesthetic公司加速汽车定制
  • 集师专属知识付费小程序搭建 心理咨询小程序搭建
  • AI大模型面试大纲
  • MPS---MP87180芯片layout设计总结
  • 若依拓展开源项目
  • nominatim部署OSM离线地图
  • 数据结构——队列的基本操作
  • 从小IPD到大IPD
  • 【2024工业3D异常检测文献】CMDIAD: 基于跨模态蒸馏驱动的多模态工业异常检测
  • 6个Android ANR面试题和优化方案
  • 33 指针与数组:数组名与指针的关系、使用指针遍历数组、数组指针、指针数组、字符指针
  • vue3项目如何添加属于自己的 live2d 看板娘 (支持换模型)
  • 论文精读--Two-Stream Convolutional Networks for Action Recognition in Videos
  • elasticsearch设置账号和密码
  • 沪指最高涨8.78%,遍地涨停
  • 查看 .so 库(共享对象库)的依赖
  • Pyspark DataFrame中Column使用
  • 本篇4K,立志最细,FreeRtos中Queue使用教程与个人理解!!!
  • IPD的核心思想