1.10寒假总结

重装系统......ing

需求也很简单,假设我们有一个 Person 表,每当 Person 表新增或者修改一条数据的时候,给指定服务同步一下。

伪代码非常的简单:

boolean success = addPerson(person)
if(success){
//发送person,add代表新增
sendToServer(person,"add");
}

这代码能用,完全没有任何问题。

但是,你仔细想,“发给指定服务同步一下”这样的动作按理来说,不应该和用户新增和更新的行为“耦合”在一起,他们应该是两个独立的逻辑。

所以从优雅实现的角度出发,我们可以用 Spring 的事件机制进行解耦。

比如改成这样:

boolean success = addPerson(person)
if(success){
publicAddPersonEvent(person,"add");
}

addPerson 成功之后,直接发布一个事件出去,然后“发给指定服务同步一下”这件事情就可以放在事件监听器去做。

对应的代码也很简单,新建一个 SpringBoot 工程。

首先我们先搞一个 Person 对象:

@Data
public class Person {
private String name;

public Person(String name) {
this.name = name;
}

posted @   奉禾  阅读(4)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 葡萄城 AI 搜索升级:DeepSeek 加持,客户体验更智能
· 什么是nginx的强缓存和协商缓存
· 一文读懂知识蒸馏
点击右上角即可分享
微信分享提示
主题色彩