Q1What happens internally when @Transactional executes?
The CGLIB proxy intercepts the call, TransactionInterceptor reads the annotation attributes, PlatformTransactionManager acquires a connection and binds it to the thread, the method runs on that connection, and on return the manager commits or rolls back.