Я пытаюсь изучить структуру Java Spring. Я слежу за некоторыми книгами и руководствами, однако все они являются стандартными приложениями типа ToDo (HelloWorld).
Одна тема, которая обычно не затрагивается в руководствах, за которыми я следую, - это то, как обновлять другие системные записи при выполнении грубых операций с совершенно другой (но обычно связанной) записью.
Вот надуманный пример.
У меня есть объект ToDo, который сохраняется в базе данных. У меня также есть еще один объект ToDoDailyReport, который сохраняется в базе данных (игнорируйте тот факт, что это, вероятно, может быть вычислено на лету).
Если я выполню какую-либо грубую операцию на ToDo, я бы хотел обновить ToDoDailyReport
Я использую spring-boot-starter-data-rest и создаю CrudRepositories, аннотируя их с помощью @RepositoryRestResource, как в этом примере (Здесь)
На мой взгляд, я представляю, что могу создать кучу настраиваемых контроллеров с помощью @RestController и реализовать любое поведение, которое захочу, однако мне нравится идея оставить их CrudRepositories как есть и просто выполнить функцию до или после запуска операции crud. Я видел обсуждение AOP и AspectJ, однако я не уверен, предназначены ли эти подходы для моего варианта использования или какой подход я должен реализовать, и как я буду запускать AOP advice до или после операции crud.
Любые советы или указания будут оценены.




Я новичок в Spring Boot, поэтому вопрос о том, является ли это правильный подход к решению этой проблемы, еще предстоит выяснить.
«Как выполнить код до или после грубого события»
На него отвечает с помощью событий, которые запускаются экспортером REST во время операций CRUD.