如何在Crud事件之前或之后执行代码

时间:2019-01-16 17:11:00

标签: spring-boot spring-data

我正在尝试学习Java Spring框架。我一直在关注一些书籍和指南,但是它们都是标准的ToDo(HelloWorld)类型的应用程序。

我所遵循的指南中通常没有涉及的一个主题是如何在执行完全不同(但通常相关)的记录的操作时更新其他系统记录。

这是一个人为的例子。

我有一个对象ToDo,该对象保留在数据库中。我还有另一个对象ToDoDailyReport保留在数据库中(忽略这个事实,它可能是即时计算的)。

如果我在ToDo上执行任何Crud操作,我想更新ToDoDailyReport

我正在使用spring-boot-starter-data-rest并创建CrudRepositories并用@RepositoryRestResource对其进行注释,类似于本示例(Here

在我的脑海中,我想我可以使用@RestController创建一堆自定义控制器并实现我想要的任何行为,但是我喜欢这样的想法,即按原样保留它们的CrudRepositories并只在crud操作之前或之后执行一个函数被解雇了。我已经看到了AOPAspectJ的讨论,但是我不确定这些方法是否适用于我的用例,或者我应该实施哪种方法以及如何在之前或之后触发AOP advice进行杂物操作后。

任何建议或指示都将不胜感激。

1 个答案:

答案 0 :(得分:0)

我是Spring Boot的新手,所以这是否是解决此问题的正确方法还有待观察

“如何在crud事件之前或之后执行代码”

通过使用CRUD操作期间REST导出程序触发的事件来回答。

Documentation can be found here