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;
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 葡萄城 AI 搜索升级:DeepSeek 加持,客户体验更智能
· 什么是nginx的强缓存和协商缓存
· 一文读懂知识蒸馏