Red de conocimiento informático - Problemas con los teléfonos móviles - Cómo usa spring+mybatis los hilos

Cómo usa spring+mybatis los hilos

En el pasado, la empresa utilizaba mybatis, pero para la gestión de transacciones, se utilizaba el contenedor CMT de ejb para gestionar las transacciones. El principio básico es que después de que llega la solicitud ejb, el código comercial creará una sesión mybatis y luego la colocará en el hilo actual. Después de eso, todos los métodos de operación que involucran la base de datos pasarán de la sesión del hilo actual. Cuando se complete todo el código de la capa de servicio, salga de ejb y decida si revertir la transacción en función de si ocurre una excepción. Esta parte la realiza el interceptor (revertir). simplemente vaya al estado de la transacción (la reversión se establece en verdadero en la entidad), y cuando todo el ejb sale, el contenedor finalmente confirma o revierte la transacción según la marca.

En comparación con las transacciones ejb utilizadas actualmente por la empresa, una solicitud es una transacción. Algunos escenarios no son muy flexibles y debemos utilizar un contenedor que admita ejb.

En los últimos días, mybatis, mybatis-spring y spring se han combinado para gestionar los asuntos. Se descubrió que durante el proceso de integración se encontró una transacción que no funcionó. Grábalo aquí.

Los pasos de disposición son los siguientes:

1. Primero, debe introducir los siguientes archivos jar en maven:

org .mybatis

< artefactoId>mybatis

3.2.2

La versión del jar relacionado con Spring es 3.0.0.RELEASE

2. Luego, debe configurar el archivo de transacción. Aquí, el proxy de transacción. se realiza en la capa de servicio, excepto los beans relacionados del controlador Spring mvc. Definido en: applicationContext.xml, de la siguiente manera:

class="org.springframework.jdbc.datasource.DataSourceTransactionManager"

Aquí se debe prestar especial atención a la siguiente configuración:

Esta etiqueta se utiliza para indicar que no se deben escanear elementos relacionados con Spring MVC. Controlador

La generación de escaneo de instancias de controlador relacionadas con Spring MVC es manejada por el contenedor web cuando carga el contenido de webrequest-servlet.xml al inicio.

La siguiente es la definición del componente Spring MVC del archivo webrequest-servlet.xml

3. Archivo del componente Spring MVC webrequest-servlet.xml

< contexto:excluir -filter type="annotation" expresión=" org.springframework.stereotype.Service"/>

class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter" / >>p>

>p>

< bean

class="org.springframework.web.servlet.view.InternalResourceViewReseser" / >>p >

p:prefix="/jsp/" p:suffix=".jsp" />

Nota:

Excluye el escaneo de @service beans. De lo contrario, se excluye aquí porque este archivo webrequest-servlet.xml se carga primero cuando se inicia la red, momento en el cual se generará una instancia de servicio sin una transacción y se inyectará en el controlador.