Confusion between @Transactional and AOP

2019-03-03 23:09发布

问题:

Does @Transactional is replacement for AOP in spring 3. are they same? Can I say @Transactional implements AOP internally ?

回答1:

The @Transactionnal annotation is just a simple way to declare that a method is (or all methods of a class are) transactionnal.

The Spring Framework will use an AOP proxy to intercept calls to the method and manage transaction.

So, we can say that @Transactionnal use AOP internally.

More information here



回答2:

What you can say is that Spring uses AOP to add a transactional aspect to bean methods annotated with @Transactional: before executing such a method, it starts a transaction (if necessary), and after the method has been executed, it commits or rollbacks the transaction.