如何使用 Spring Event 实现内部模块间的轻松解耦?

Spring Event 是 Spring 框架提供的一个核心组件,其允许服务内部不同模块之间通过观察者模式(发布-订阅模式)进行通信,从而实现模块间的解耦。

即 Spring Event 是一种事件驱动的编程模型,一个模块在做完一件事后,无需直接调用其它模块处理后续逻辑,而是发布一个事件出来,由其它对该事件感兴趣的模块订阅并处理这个事件,事件发布者无需关注订阅者是谁,从而实现模块间的轻松解耦。

阅读更多

使用 Spring Data JPA 时如何捕捉实体的增删改操作?

在 Spring Boot 工程中,若选用的持久化层框架是 JPA,那么要想捕捉所有实体的增删改操作,该怎么实现呢?

下面给一个具体点的需求,然后我们来探讨如何实现:「假设我们要实现一个实体(表)操作监控模块,即捕获 Spring Boot 应用程序中所有实体的变更(包括增、删、改)操作,然后将这些操作记录到一张表中。」

阅读更多

對於日本侵華的幾點看法

今天是日本投降日。80 年前的今天日本宣佈無條件投降,中國人民迎來了抗日戰爭的勝利。 當下的加沙正被以色列進行慘無人道的屠殺,幾萬平名無辜喪生,讓 21 世紀承平日久的人們體會到什麼是人間煉獄。但 80 多年前日本對我們造成的傷害,遠不止於此。

阅读更多

關於清華朱令鉈中毒案的幾點看法

朱令鉈中毒案是兇手「鉈」泯滅良知、喪失人性的陷害,也是清華、協和以及辦案機關等多個部門的嚴重失責。一個普通的刑事案件,硬生生被「鉈家」操作成了前無古人的「疑罪從無」。清華案發現場保護不力,讓人家幾進幾出,消滅關鍵證據。協和檢測報告遲遲定位不出特殊元素,定位出來了又三緘其口,這又說明什麼?辦案機關辦事不力,遇阻力即後退,枉為國之要器。

阅读更多

在 Spring Boot 中如何优雅的编写一个服务工厂?

在基于 Spring Boot 的业务开发中,我们有时会遇到这样的场景:即定义了一个通用接口,而该接口拥有多个实现类。在调用这些实现类时,我们通常需要编写一个工厂方法,该工厂方法可以根据指定的参数获取到对应的实现类。 那么,提供该工厂方法的类就是一个服务工厂,本文即是探讨如何优雅的编写这个服务工厂。

阅读更多

週末逛黃渤海分界線

週末和太太、孩子一起去了旅順黃渤海分界線景點。這裏是遼東半島的最南端,也就是正好在我國像雄雞一樣地圖的雞嘴上。 正值伏天,當日天氣非常炎熱,站在山上,涼爽的海風迎面吹來,帶來一絲絲涼意。 也許是山東、河北、遼寧將渤海團團圍住而只剩旅順和蓬萊這個之間的出口的緣故。站在「一山擔兩海」的位置,一眼望去,黃海與渤海的海水竟不相容,一面是深藍色,一面是黃藍色,肉眼即可看出差別,非常的神奇。

阅读更多