AOP desarrollo basado en la anotación de la primavera de la ApsectJ
Crear un proyecto, la introducción del paquete jar
Y la preparación de la configuración de clase de objetivo
sección de clase y configurar la escritura
Anotación objetos usando AOP mejorada clase objetivo
anotaciones abiertas en el desarrollo de AOP fichero de configuración
utilizando anotaciones de la clase de aspecto
clases de prueba de escritura
Las anotaciones primavera AOP del tipo de notificación
@Before: Antes de asesoramiento
@AfterReturning: notificación posterior
@Around: Alrededor consejos
@AfterThrowing: excepción aviso lanzado
@After: Aviso final
Notas punto de entrada de la configuración de Spring AOP
El uso de plantillas JDBC de Spring
plantillas de JDBC de primavera
El resorte es un marco de desarrollo EE una ventanilla, EE ha desarrollado soluciones para cada capa. capa de persistencia de la primavera también proporciona una solución: ORM y la plantilla de módulo de JDBC.
Primavera ofrece muchas plantillas para simplificar el desarrollo de:
Primeros plantilla utiliza JDBC
创建项目,引入jar包
引入基本开发包:
数据库驱动
Spring的JDBC模板的jar包
Crear bases de datos y tablas
create database spring4_day03;
use spring4_day03;
create table account(
id int primary key auto_increment,
name varchar(20),
money double
);
Usando la plantilla JDBC: ahorro de los datos
La gestión de la agrupación de conexiones y plantillas para la primavera
La introducción del archivo de configuración de Spring
Utilice la plantilla Jdbc
spring_aop paquete frasco introducido
El uso de código abierto agrupación de conexiones de base de datos:
La introducción de paquete frasco de
configuración de agrupación de conexiones DBCP
uso C3P0
La introducción de paquete frasco de agrupación de conexiones c3p0
grupo de conexión de configuración c3p0
Archivo para extraer las propiedades de configuración
Definir un archivo de propiedades
primero:
segundo:
la introducción del valor del archivo de propiedades
prueba
Usando la plantilla JDBC es completar las operaciones CRUD
Guardar operación
de modificar la operación
de borrado
consulta
consulta una propiedad
consulta devuelve una colección de objetos o
paquete de datos
entrada de transacción de primavera
¿Qué es una transacción
Transacción: un conjunto de operaciones lógicas en la composición de las respectivas unidades de la operación de conjunto, o bien todos éxito o todos fallar.
Características de la operación
原子性:事务不可分割
一致性:事务执行前后数据完整性保持一致
隔离性:一个事务的执行不应该受到其他事务的干扰
持久性:一旦事务结束,数据就持久化到数据库
Si no tenemos en cuenta el aislamiento causado por problemas de seguridad
读问题
脏读 :一个事务读到另一个事务未提交的数据
不可重复读 :一个事务读到另一个事务已经提交的update的数据,导致一个事务中多次查询结果不一致
虚读、幻读 :一个事务读到另一个事务已经提交的insert的数据,导致一个事务中多次查询结果不一致。
写问题
丢失更新
La lectura de resolver el problema
设置事务的隔离级别
Read uncommitted:未提交读,任何读问题解决不了。
Read committed :已提交读,解决脏读,但是不可重复读和虚读有可能发生。
Repeatable read :重复读,解决脏读和不可重复读,但是虚读有可能发生。
Serializable :解决所有读问题。
API de gestión de transacciones de la primavera
PlatformTransactionManager: Plataforma Gestor de transacciones
平台事务管理器:接口,是Spring用于管理事务的真正的对象。
DataSourceTransactionManager:底层使用JDBC管理事务
HibernateTransactionManager :底层使用Hibernate管理事务
TransactionDefinition: información de definición de transacción
事务定义:用于定义事务的相关的信息,隔离级别、超时信息、传播行为、是否只读
TransactionStatus: estado de la cuestión
事务状态:用于记录在事务管理过程中,事务的状态的对象。
La relación entre el API de gestión de transacciones:
Spring进行事务管理的时候,首先平台事务管理器根据事务定义信息进行事务的管理,在事务管理过程中,产生各种状态,将这些状态的信息记录到事务状态的对象中。
Primavera comportamiento de la propagación de transacción de
Spring中提供了七种事务的传播行为:
保证多个操作在同一个事务中
PROPAGATION_REQUIRED :默认值,如果A中有事务,使用A中的事务,如果A没有,创建一个新的事务,将操作包含进来
PROPAGATION_SUPPORTS :支持事务,如果A中有事务,使用A中的事务。如果A没有事务,不使用事务。
PROPAGATION_MANDATORY :如果A中有事务,使用A中的事务。如果A没有事务,抛出异常。
保证多个操作不在同一个事务中
PROPAGATION_REQUIRES_NEW :如果A中有事务,将A的事务挂起(暂停),创建新事务,只包含自身操作。如果A中没有事务,创建一个新事务,包含自身操作。
PROPAGATION_NOT_SUPPORTED :如果A中有事务,将A的事务挂起。不使用事务管理。
PROPAGATION_NEVER :如果A中有事务,报异常。
嵌套式事务
PROPAGATION_NESTED :嵌套事务,如果A中有事务,按照A的事务执行,执行完成后,设置一个保存点,执行B中的操作,如果没有异常,执行通过,如果有异常,可以选择回滚到最初始位置,也可以回滚到保存点。
gestión de transacciones de la primavera
gestión de transacciones de la primavera entorno construido
para crear interfaces de servicio y clases de implementación de
la interfaz DAO y clase de implementación creado
Spring gestionar: configuración del servicio y DAO
la preparación y elaboración de deducir el dinero método de dinero en DAO:
agrupación de conexiones JDBC y configurar las plantillas
de DAO inyección plantilla Jdbc:
prueba
la gestión de la primavera de transacción: una: las transacciones programáticas (la necesidad de mano de código) - Aprender
Paso 1: Configurar Plataforma Transaction Manager
Paso dos: Spring proporciona una transacción de gestión de clase de plantilla
plantilla de gestión de la configuración de clase de los asuntos de
la tercera etapa: la inyección de gestión de transacciones plantilla en la capa de negocio
código escrito de gestión de transacciones
de prueba:
gestión de transacciones de primavera: dos tipos: la gestión de transacciones declarativa (por configuración) -AOP
XML modo de gestión de transacciones declarativa de
la primera etapa: la introducción de la AOP kit de desarrollo
Paso dos: Transferir el entorno de recuperación
Tercer paso: Configurar el administrador de transacciones
Cuarto paso: Configurar mejorada
Quinto paso: Configurar el AOP
prueba de
forma declarativa de notas transacción de gestión
del primer paso: la introducción de un kit de desarrollo de AOP
paso dos: transferencia a restaurar el medio ambiente
Tercer paso: Configurar el gestor de transacciones
paso 4: Habilitar anotaciones asuntos
paso cinco: anotaciones Agregar a la capa de negocio