¿Qué transacción utiliza Spring Mybatis?
Spring, configuración de gestión de transacciones mybatis y uso de la anotación @Transactional
spring admite la gestión de transacciones programáticas y la gestión de transacciones declarativas.
La gestión programática de transacciones utiliza TransactionTemplate o utiliza directamente el PlatformTransactionManager subyacente. Para la gestión de transacciones programáticas, Spring recomienda utilizar TransactionTemplate.
La gestión de transacciones declarativas se basa en AOP. Su esencia es interceptar el método antes y después, y luego crear o unirse a una transacción antes de que comience el método de destino. Una vez ejecutado el método de destino, la transacción se confirma o revierte de acuerdo con el estado de ejecución. La mayor ventaja de las transacciones declarativas es que no es necesario administrar las transacciones mediante programación, por lo que no es necesario mezclar el código de administración de transacciones en el código de lógica empresarial. Solo necesita realizar declaraciones de reglas de transacciones relevantes en el archivo de configuración (o mediante @). Anotaciones basadas en transacciones), puede aplicar reglas de transacción a la lógica empresarial.
Obviamente, la gestión de transacciones declarativas es mejor que la gestión de transacciones programáticas. Este es el método de desarrollo no intrusivo recomendado por Spring. La gestión de transacciones declarativas evita que el código comercial se contamine. Un objeto POJO ordinario puede obtener soporte completo para transacciones agregando anotaciones. En comparación con las transacciones programáticas, la única desventaja de las transacciones declarativas es que la granularidad más fina de estas últimas solo se puede aplicar al nivel del método y no se puede aplicar al nivel de bloque de código como las transacciones programáticas. Pero incluso si existe tal demanda, existen muchas soluciones, por ejemplo, los bloques de código que necesitan gestión de transacciones se pueden separar en métodos, etc.
Existen dos métodos comúnmente utilizados para la gestión de transacciones declarativas, uno se basa en el archivo de configuración xml del espacio de nombres tx y aop, y el otro se basa en la anotación @Transactional. Obviamente, el enfoque basado en anotaciones es más fácil de usar y más refrescante.