Я изучаю AOP
и узнал, что это полезно для разделения интересов, например, logging
, transaction management
, security
и т. д.
Пока хорошо знать AOP
.
Теперь я прочитал об управлении транзакциями Spring в среде Spring, у нас может быть аннотация @Transactional
.
Именно этот момент меня смущает, почему мы должны использовать AOP
, в котором мы должны создать Aspects
, а не использовать аннотацию, которую предоставляет Spring.
Например:
@Transactional
public void dataAccessTrans() {
}
Если в Spring уже есть функции, связанные с транзакциями, то почему мы должны использовать AOP
для управления транзакциями?
Если мы используем AOP
, то не нужно ли нам создавать Aspect
и создавать advice
, которые будут воздействовать на метод; Разве это не заставляет нас выполнять ручную работу, а не обрабатывать ее самой Spring Framework с помощью собственных аннотаций.
Может ли кто-нибудь помочь мне понять это, что я не могу понять ясно.