我正在尝试学习Java Spring框架。我一直在关注一些书籍和指南,但是它们都是标准的ToDo(HelloWorld)类型的应用程序。
我所遵循的指南中通常没有涉及的一个主题是如何在执行完全不同(但通常相关)的记录的操作时更新其他系统记录。
这是一个人为的例子。
我有一个对象ToDo
,该对象保留在数据库中。我还有另一个对象ToDoDailyReport
保留在数据库中(忽略这个事实,它可能是即时计算的)。
如果我在ToDo
上执行任何Crud操作,我想更新ToDoDailyReport
我正在使用spring-boot-starter-data-rest
并创建CrudRepositories
并用@RepositoryRestResource
对其进行注释,类似于本示例(Here)
在我的脑海中,我想我可以使用@RestController
创建一堆自定义控制器并实现我想要的任何行为,但是我喜欢这样的想法,即按原样保留它们的CrudRepositories并只在crud操作之前或之后执行一个函数被解雇了。我已经看到了AOP
和AspectJ
的讨论,但是我不确定这些方法是否适用于我的用例,或者我应该实施哪种方法以及如何在之前或之后触发AOP advice
进行杂物操作后。
任何建议或指示都将不胜感激。
答案 0 :(得分:0)
我是Spring Boot的新手,所以这是否是解决此问题的正确方法还有待观察
“如何在crud事件之前或之后执行代码”
通过使用CRUD操作期间REST导出程序触发的事件来回答。