Red de conocimientos turísticos - Guía para elegir días propicios según el calendario chino - Aplicaciones empresariales ligeras Java EE (tercera edición) - Catálogo de desarrollo integrado de Struts 2 Spring 3 Hibernate

Aplicaciones empresariales ligeras Java EE (tercera edición) - Catálogo de desarrollo integrado de Struts 2 Spring 3 Hibernate

Capítulo 1 Entorno de desarrollo y aplicación Java EE 1

1.1 Descripción general de la aplicación Java EE II

1.1.1 Modelo en capas de la aplicación Java EE II

1.1.2 Componentes de las Aplicaciones Java EE 3

1.1.3 Estructura y Beneficios de las Aplicaciones Java EE 4

1.1.4 Servidor Java EE Genérico 4

1.2 Tecnologías relacionadas con Aplicaciones Java EE ligeras 5

1.2.1 JSP, Servlet 3.0, JavaBean y tecnologías alternativas 5

1.2.2 Struts 2.2 y tecnologías alternativas 5

p>

1.2.3 Hibernate 3.6 y tecnología alternativa 6

1.2.4 Spring 3.0 y tecnología alternativa 6

Descargar e instalar 1.3 Tomcat 7

1.3.1 Instalar Tomcat Servidor 8

1.3.2 Configurar el puerto 9 del servicio Tomcat.

1.3.3 Ingresar a la consola 10.

1.3.4 Implementación de la aplicación web 12

1.3.5 Configuración de la fuente de datos de Tomcat 13

1.4 Instalación y uso de Eclipse 15

1 4 . 1 Descargue e instale Eclipse 15

1.4.2 Instale el complemento Eclipse 15 en línea

1.4.3 Instale el complemento 17 desde el paquete comprimido local.

1.4.4 Instalar manualmente el complemento Eclipse 17

1.4.5 Usar Eclipse 18 para desarrollar aplicaciones Java EE

1.4.6 Importar el proyecto Eclipse 21

1.4.7 Importación de proyectos que no sean de Eclipse 22

Instalación y uso de 1.5 Ant 23

Descargar e instalar 1.5.1 Ant 23

1.5.2 Usar la herramienta Ant 24

1.5.3 Definir el archivo generado 25

1.5.4 Tareas Ant 29

1.6 Desarrollo colaborativo con CVS 31

1.6.1 Instalar servidor CVS 32

1.6.2 Configurar repositorio CVS 34

1.6.3 Instalar cliente CVS 35

1.6 4 Publicar el proyecto en el servidor 35

1.6.5 Descargar el proyecto desde el servidor 37

1.6.6 Sincronizar (actualizar) archivos locales 38

. 1.6.7 Enviar modificación 39

1.6.8 Agregar archivos y directorios 39

1.6.9 Eliminar archivos y directorios 40

1 6. 10 Ver archivo. cambios de versión 41

1.6.11 Extraer el contenido de la versión anterior del archivo 42

1.6.12 Reiniciar desde la versión anterior 42

1.6.13 Crear etiqueta 43

1.6.14 Crear rama 43

1.6.15 Desarrollar a lo largo de la rama 44

1.6.16 Usar Eclipse como cliente CVS 44.

1.7 Resumen de este capítulo 46

Capítulo 2 Explicación detallada de JSP/Servlet y tecnologías relacionadas 47

2.1 Aplicaciones web y archivos web.xml 48

2.1.1 Creación de aplicaciones web 48

2.1.2 Descriptor de configuración web.xml 49

2.2 Principios básicos de JSP 50

2.3 JSP Nota 54

2.4 Declaración JSP 54

2.5 Expresión JSP de salida 56

2.6 Script JSP 56

2.7 Tres instrucciones de compilación JSP 59

Instrucciones en la página 59

2.7.2 incluye la instrucción 63

2.8 Instrucciones de operación JSP 7 63

Instrucción de avance 64

2.8.2 incluye instrucciones 66

2.8.3 instrucciones useBean, setProperty, getProperty 67

Instrucciones de complemento 70

Instrucciones de parámetros 70

p>

Objetos integrados 70 en scripts 2.9 9 9

2.9.1 Objetos de aplicación 72

Objetos de configuración 77

Objetos de excepción 79

2.9.4 Objeto de salida 81

Objeto de contexto de página 82

Objeto de solicitud 84

2.9.7 Objeto de respuesta 91

2.9.8 Objeto de sesión 95

2.10 Introducción a Servlet 97

2.10.1 Desarrollo de servlet 97

2.10.2 Configuración de servlet 99

2.10.3 Ciclo de vida JSP/Servlet

2.10.4 Cargar Servlet 101 al inicio

2.10.5 Acceder a los parámetros de configuración del Servlet 102.

2.10.6 Uso de Servlet como controlador 104

2.11 Etiquetas personalizadas JSP 2 108

2.11.1 Desarrollo de clases de etiquetas personalizadas 109.

2.11.2 Crear archivo TLD 109.

2.11.3 Usando la biblioteca de etiquetas 110.

2.11.4 Etiqueta con atributo 111

2.11.5 Etiqueta, el cuerpo de la etiqueta es 115

2.11.6 Etiqueta con fragmento de página como atributo 117

2.11.7 Etiquetas de atributos dinámicos 118

2.12 Introducción a los filtros 120

2.12.1 Creación de clases de filtro 120

2.12.2 Configurar filtro 121 .

2.12.3 Utilice la reescritura de URL para lograr un sitio web pseudoestático 125.

2.13 Introducción a los oyentes 126

2.13.1 Implementando la clase de oyente 127

2.13.2 Configurando el oyente 128

2.13. 3 Uso de ServletContextAttribute-Listener 129

2.13.4 Uso de ServletRequestListener y ServletRequestAttributeListener 130

2.13.5 Uso de HttpSessionListener y escucha de atributos de sesión HTTP 131.

2.14 Características de JSP 2 136

2.14.1 Configuración de propiedades de JSP 136

2.14.2 Lenguaje de expresión 138

2.14.3 Etiquetas Soporte de archivos 146.

2.15 Nuevas características de Servlet 3.0 148

Servlet 3.0 2.15.1 comentarios 148

2.15.2 Soporte del módulo web de Servlet 3.0 149.

2.15.3 Procesamiento asincrónico proporcionado por Servlet 3.0 151

2.15.4 API de Servlet mejorada 154

2.16 Descripción general de este capítulo 156

Capítulo 3 Uso básico de Struts 2 157

3.1 Descripción general del pensamiento MVC 158

3.1.1 Modelo tradicional 1 y modelo 2 158

3.1.2 MVC Pensamiento y sus ventajas 159

3.2 Descarga e instalación de Struts 2 160

3.2.1 Agregar soporte de Struts 2 a aplicaciones Web 160.

3.2.2 Usando Struts 2 161 en Eclipse.

3.2.3 Agregar procesamiento de inicio de sesión 162.

3.3 Proceso de Struts 2 165

3.3.1 Pasos de desarrollo de la aplicación Struts 2 165

3.3.2 Procesamiento del soporte 2 166

3.4 Configuración general del pilar 2 167

3.4.1 Configuración constante 167

3.4.2 Contiene otros archivos de configuración 173.

3.5 Implementación de acciones 174

3.5.1 Interfaz de acción y clase base de soporte de acción 175.

3.5.2 Operación para acceder al Servlet API 177

3.5.3 Operación para acceder directamente al Servlet API 179.

3.5.4 Utilice ServletActionContext para acceder al Servlet API 181.

3.6 Operaciones de configuración 182

3.6.1 Paquetes y espacios de nombres 182

3.6.2 Configuración básica de acciones 185

3.6. Utilice el método de operación dinámica para marcar 186.

3.6.4 Especificar los atributos del método y utilizar el comodín 188.

3.6.5 Configurar el funcionamiento predeterminado 194.

3.6.6 Configurar la clase de procesamiento predeterminada 194 de la acción.

3.7 Configurar los resultados del procesamiento 195

3.7.1 Comprender los resultados del procesamiento 195

Configurar los resultados 195

3.7.3 Resultados de soporte de Struts 2 Tipo 197.

3.7.4 Tipo de resultado de texto plano 198

3.7.5 Tipo de resultado de redirección 200

3.7.6 Tipo de resultado de redirección 201

Resultados dinámicos 202

3.7.8 El valor del atributo de acción determina el recurso de vista física 202.

3.7.9 Resultados globales 204

3.7.10 Uso del detector de resultados previos 205

3.8 Configuración del manejo de excepciones de Struts 2 206

3.8.1 Mecanismo de manejo de excepciones de Struts 2 207

3.8.2 Captura declarativa de excepciones 208

3.8.3 Salida de información de excepción 210

3.9 Complementos de convención y "Acuerdo" admite 211.

3.9.1 Convención de mapeo y búsqueda de acciones 211

3.9.2 Dibujar resultados según la convención 214.

3.9.3 Acuerdo sobre la cadena de acciones 216

3.9.4 Mapeo de recarga automática 218

3.9.5 La constante relevante para los complementos normales es 218.

3.9.6 Notas relacionadas con complementos convencionales 219

3.10 Internacionalización usando Struts 2 219

3.10.1 Struts 2 cargando archivos de recursos globales 219

3.10.2 Accediendo a mensajes internacionalizados 220

3.10.3 Generando mensajes internacionalizados con marcadores de posición 222

3.10.4 Método de carga de archivos de recursos 224

3.10.5 El orden de carga de archivos de recursos 228

3.11 Uso de la biblioteca de etiquetas de Struts 2 228

3.11.1 Descripción general de la biblioteca de etiquetas de Struts 2 228

3.11.2 Uso de etiquetas de Struts 2 229

Lenguaje de expresión OGNL 230 de 3.11.3 Struts 2

Operaciones de configuración 232 en 3.11.4 OGNL

3.11.5 Acceder a miembros estáticos 233

3.11.6λ(? Expresión 234

3.11.7 Etiqueta de control 234

3.11.8 Etiqueta de datos 244

3.11.9 Temas y plantillas 254

3.11.10 Temas personalizados 256

3.11.11 Etiquetas de formulario 257

3.11.12 Etiquetas sin formulario 270

3.12 Resumen de este capítulo 273

El capítulo 4 utiliza Struts 2 en profundidad 274

4.1 Explicación detallada de la conversión de tipos de Struts 2 275

p>

4.1.1 Convertidor de tipos integrado de Struts 2 276

4.1.2 Conversión de tipos basada en OGNL 276

4.2.3 Especificar el tipo de características de la colección 279

4.1.4 Convertidor de tipo personalizado 280

4.1.5 Convertidor de tipo registrado 283

4.1.6 Convertidor de tipo personalizado basado en Struts 2 284

p>

4.1.7 Procesando Jiji 285

4.1.8 Manejo de errores en la conversión de tipos 288

4.2 Uso de Struts 2 para la validación de entradas 293

4.2.1 Verificación de escritura archivo de reglas 294

4.2.2 Información de solicitud internacional 296

4.2.3 Usar verificación del cliente 298

4.2.4 Estilo de configuración en sitio del verificador 300

4.2.5 Método de configuración del verificador externo 301

Verificador de cortocircuito 302

4. 7 reglas de búsqueda mcrc 304

4.2.8 Comprobación de orden y cortocircuito 305

4.2.9 Comprobador incorporado 306

4.2.10 Validación de entradas basada en comentarios 316

p >

4.2.11 Completar manualmente la validación de entrada 318.

4.3 Utilice Struts 2 para controlar la carga de archivos 322

4.3.1 Carga de archivos de Struts 2 322

4.3.2 Operación de carga de archivos 322 .

4.3.3 Operación de carga de archivos de configuración 325

4.3.4 Filtrado manual de archivos 326

4.3.5 Interceptor implementa el filtrado de archivos 328

Mensaje de error de salida 329

4.3.7 Configuración constante de carga de archivos 330

4.4 Uso de Struts 2 para controlar la descarga de archivos 330

4.4.1 Operación de descarga de archivos 330

Operación de configuración 332

4.4.3 Control de autorización antes de la descarga 332

4.5 Explicación detallada del mecanismo de interceptación de Struts 2 334

4 5 . 1 Funciones de los interceptores en Struts 2 334

4.5.2 Interceptor incorporado de Struts 2 334

4.5.3 Configuración de interceptores 336

Usar el interceptor 338

4.5.5 Configurar el interceptor predeterminado 338

4.5.6 Implementar la clase de interceptor 340

Usar el interceptor 342

4.5. 8 Interceptor para el método de interceptación 343

4.5.9 Secuencia de ejecución del interceptor 345

4.5.10 Oyente para el resultado de la interceptación 347

4.5.11 Anulación del parámetro 348 para un interceptor específico en la pila de interceptores.

4.5.12 Usar interceptores para completar el control de acceso 349

4.6 Usar el soporte Ajax de Struts 2 351.

4.6.1 implementa Ajax 352 para resultados de tipo flujo.

Conocimientos básicos de JSON 354

Implementación de la lógica de acción 356

4.6.4 Complemento json y resultados de tipo json 357

4.6 .5 Implementación de páginas JSP 359

4.7 Descripción general de este capítulo 361

Capítulo 5 Uso básico de Hibernate 362

5.1 ORM e Hibernate 363

5.1 .1 Mapeo de bases de datos relacionales/objetos (ORM) 363

5.1.2 Modo de mapeo básico 364

5.1.3 Introducción a los marcos ORM populares 365

5.1.4 Descripción general de Hibernate 366

5.2 Introducción a Hibernate 366

5.2.1 Descarga e instalación de Hibernate 366

Operaciones de la base de datos de Hibernate 367

5.2 .3 Uso de Hibernate en Eclipse 371

5.3 Arquitectura de Hibernate 376

5.4 Comprensión profunda de los archivos de configuración de Hibernate 377

Creación de objetos de configuración 377

archivo hibernate.properties y archivo hibernate.cfg.xml 380

5.4.3 Propiedades de conexión JDBC 380

5.4.4 Dialecto de base de datos 381

5.4.5 Propiedades de conexión de la fuente de datos JNDI 382

Propiedades de transacción de hibernación 382

5.4.7 Propiedades relacionadas con la caché L2 383

5.4. 8 Propiedades de captura de conexión externa 383

5.4.9 Otras propiedades de configuración comunes 383

5.5 Comprensión profunda de los objetos persistentes 384

5.5.1 Requisitos para la persistencia categorías 384

5.5.2 Estado de objetos persistentes 385

5.5.3 Métodos para cambiar el estado de objetos persistentes 386

5.6 Archivos de mapeo de sueño profundo 389

Estructura de archivos de mapeo 389

5.6.2 Mapeo de claves primarias 392

5.6.3 Mapeo de atributos comunes 393

5.6.4 Colección de mapeo atributos 398

5.6.5 Análisis de rendimiento de atributos de conjuntos 407

5.6.6 Mapeo de conjuntos ordenados 409

5.6.7 Mapeo de objetos de base de datos 411

5.7 Atributos del componente de mapeo 414

El atributo del componente 5.7.1 está establecido en 416.

5.7.2 Los elementos del atributo colección son componentes 418.

5.7.3 Componentes como índice de mapa 420

5.7.4 Componentes como claves primarias compuestas 422

5.7.5 Columnas múltiples como claves primarias conjuntas 425

p>

5.8 Uso de anotaciones JPA para marcar entidades 426.

5.8.1 agrega soporte para anotaciones JPA 426.

5.8.2 ¿Comentarios? o el archivo de mapeo XML 429.

5.9 Descripción general de este capítulo 429

Capítulo 6 Uso en profundidad de Hibernate 430

6.1 Mapeo de asociación de Hibernate 431

6.1 .1 Asociación única N-1 431

6.1.2 Asociación unidireccional 1-1 436

6.1.3 Asociación unidireccional 1-n 439

6.1.4 Correlación N-N unidireccional 443

6.1.5 Correlación 1-N bidireccional 443

6.1.6 Correlación N-N bidireccional 448

6.1.7 Correlación bidireccional 1-1 450

6.1.8 Entidades asociadas 453 contenidas en atributos de componentes

6.1.9 Relaciones basadas en claves primarias compuestas 456

6.1.10 Propiedades de miembros de claves primarias compuestas Asociadas con la entidad 458.

6.1.11 Propagación continua 061

6.2 Mapeo de herencia 462

6.2.1 Mapeo de herencia utilizando elementos de subclase 466.

6.2.2 Usando el mapeo de herencia de elementos de subclase de unión 467

6.2.3 Usando el mapeo de herencia de elementos de subclase de unión 470.

6.3 Hibernate 472 procesamiento por lotes

6.3.1 Inserción por lotes 473

Actualización por lotes 474

6.3.3 Actualización por lotes de estilo DML / Eliminar 474

6.4 Utilice HQL para consultar 476

HQL para consultar 476

consulta hql 6.4.2 en el artículo 478

6.4. 3 Asociación y conexión 478

6. 4. 4 Cláusula de selección de consulta HQL 481

6. 4. 5 Función de agregación de consulta HQL 482

Consulta polimórfica. 483

6.4.7 Posición de la consulta del elemento 483 de hql

Expresión 484

6.4.9 Orden en el elemento 486

Agrupar por términos 486

6.4.11 Subconsulta 487

Consulta nombrada 488

6.5 Consulta condicional 488

6.5.1 Asociación y asociación dinámica 491

6.5.2 Predicción, resumen y agrupación 492

6.5.3 Consulta y subconsulta sin conexión 495

6.6 Consulta SQL 496

1 Escalar consulta 496

6.6.2 Consulta de entidad 498

6.6.3 Procesamiento de asociaciones y herencia

6.6.4 Consulta SQL de nombres 501

6.6.5 Llamar a procedimientos almacenados 502

Usar SQL personalizado 503

6.7 Filtrado de datos 505

6.8 Control de transacciones 508

6.8.1 Conceptos de transacciones 508

6.8.2 Sesiones y transacciones 509

6.8.3 Sesiones sensibles al contexto 511

6.9 Caché de segundo nivel y caché de consultas 511

6.9.1 Active el caché de segundo nivel 512.

6.9.2 Caché de administración y caché de estadísticas 515

Uso del caché de consultas 516

6.10 Mecanismo de eventos 518

Interceptor 519

p>

6.10.2 Sistema de eventos 221

6.11 Resumen de este capítulo 525

Capítulo 7 Uso básico de Spring 526

7.1 Introducción a Spring y Spring 3.0 Cambios en 527

7.1.1 Introducción a Spring 527

7.1.2 Cambios en Spring 3.0 528

7.2 Descarga e instalación de Spring 528

7.2.1 Uso de Spring 528 en aplicaciones Java SE

7.2.2 Uso de Spring 529 en aplicaciones web

7.2.3 Desarrollo de aplicaciones Spring en Eclipse

p>

7.3 Mecanismo central de Spring: inyección de dependencia 533

Comprensión de la inyección de dependencia 533

7.3.2 Configuración de la inyección 534

Inyección de estructura 538

7.3.4 Comparación de dos métodos de inyección 539

7.4 Uso de contenedores de resorte 539

7.4.1 Contenedores de resorte 540

7.4 2 Uso del contexto de la aplicación 541

7.4.3 Soporte de internacionalización del contexto de la aplicación 542

7.4.4 Mecanismo de eventos del contexto de la aplicación 544

7.4.5 Deje que el frijol obtener contenedor Spring 546.

7.5 Bean 548 en el contenedor Spring

7.5.1 La definición básica de Bean 548

El rango de Bean en el contenedor 7.5.2 es 551.

7.5.3 Configurar dependencias 553

7.5.4 Establecer valores de atributos comunes 555

7.5.5 Configurar beans asociados 557

7.5.6 Inyectar bean asociado autowired 557

7.5.7 Inyectar bean anidado 560

7.5.8 Inyectar punto de ajuste 561

Propiedades combinadas Nombre 565

7.5.10 Spring Bean y JavaBean 566

Proporcionar 7.6 Gestión de configuración de Java 7.6 Spring 3.0 567

7.7 Método de creación de instancias de Bean y configuración de dependencias 570

7.7.1 Usando el constructor para crear instancias de Bean 570.

7.7.2 Crear Bean 572 usando el método de fábrica estático.

7.7.3 Llame al método de fábrica de instancias para crear Bean 575

7.8 Comprensión profunda del Bean 577 en el contenedor

7.8.1 Utilice Bean abstracto 577.

7.8.2 Uso de beans secundarios 578

7 8 3 La diferencia entre herencia de beans y herencia de Java 579

7.8.4 Entrega de fábrica en el contenedor. Bean 580

7.8.5 Obtiene el id 582 del propio Bean.

7. 8. 6 Inicialización forzada de Bean 583

7.9 Ciclo de vida de los beans en el contenedor 583

7.9.1 Comportamiento después de la inyección de dependencia 584

p>

7 9 . 2 Comportamiento antes de la destrucción del bean 585

7.9.3 Coordinación de beans con ámbitos no sincronizados

7.10 Comprensión profunda de la configuración de dependencia 591

7.10.1 Inyectar el valor del atributo de otro Bean 592

7.10.2 Inyectar el valor del campo de otro Bean 594

7.10.3 El método de inyectar otros Bean regresa 595

7.11 Modo de configuración simplificado basado en el esquema XML 36866.86666866667

7.11.1 Usando el atributo de configuración del espacio de nombres p 599.

7.11.2 Usando el modo util 600

7.12 Lenguaje de expresión (Spel) proporcionado por Spring 3.0 602

7.12.1 Usando la interfaz de expresión para calcular expresiones Fórmula 603

7.12.2 Soporte de lenguaje de expresión 604 en la definición de Bean.

7.12.3 Detalles de sintaxis SpEL 606

7.13 Resumen de este capítulo 611

Capítulo 8 Uso en profundidad de Spring 612

8.1 Postprocesador de dos semillas 613

8.1.1 Postprocesador de Bean 613

8.1.2 La utilidad del postprocesador de Bean 617

8.1.3 Postprocesador de contenedor 617

8.1.4 Configurador de marcador de posición de propiedad 619

8.1.5 Configurador de marcador de posición de reescritura 620

8.2 La configuración cero de Spring admite 621.

8.2.1 Buscar la clase Bean 621

8.2.2 Especificar el alcance del Bean 624

8.2.3 Usar @Resource para configurar las dependencias 625

8.2.4 Comportamiento del ciclo de vida personalizado usando @PostConstruct y @predestroy626

8.2.5 Anotación 626 agregada a 8.2.5 Spring 3.0

8.2.6 Autocableado y ensamblaje de precisión 627

8.3 Acceso a recursos 629

8.3.1 Clase de implementación de recursos 630

8.3.2 Interfaz del cargador de recursos e interfaz del software del cargador de recursos 635

8.3.3 Usar recursos como propiedades 638

8.3.4 Usar recursos en el contexto de la aplicación 639

8.4 Spring's AOP 643

¿Por qué 8.4.1 ¿Requiere AOP 643?

8.4.2 Implementación de AOP 644 con AspectJ

Concepto básico de AOP 649

El AOP del soporte de resorte es 650.

8.4.5 Modo "Configuración cero" basado en comentario 651

8.4.6 Modo de gestión basado en archivo de configuración XML 666

8.5 Transacción Spring 672 p>

8.5.1 Estrategias de transacciones soportadas por Spring 673

8.5.2 Uso de TransactionProxyFactoryBean 678 para crear un proxy de transacciones

8.5.3 Estrategia de configuración de transacciones 8.5.3 Primavera 2.

681 2 Reflexiones sobre la integración del marco MVC y Spring 38996.99988989996

8.6.3 Dejar que Spring administre el controlador 689

Usar ensamblaje automático 692

8.7 Spring integra Hibernate 695

8.7.1 Soporte DAO proporcionado por Spring 695

8.7.2 Administrar la fábrica de sesiones de Hibernate 696

8.7.3 Usar plantillas de hibernación 697

Usar HibernateCallback 701

8.7.5 Implementar componentes DAO 703

8.7.6 Usar contenedores IoC para ensamblar varios componentes 705

8.7.7 Usar declarativo Transacción 707

8.8 Integración Spring JPA 708

Administrar EntityManager 709

Usar JpaTemplate 711

Usar devolución de llamada JPA 713

8.8.4 Utilice JpaDaoSupport para implementar el componente DAO 714.

8.8.5 Uso de transacciones declarativas 714

8.9 Descripción general de este capítulo 715

Capítulo 9 Ideas y estrategias para el desarrollo de aplicaciones empresariales 716

9.1 Desafíos que enfrenta el desarrollo de aplicaciones empresariales 717

9.1.1 Escalabilidad y escalabilidad 717

9.1.2 Desarrollo rápido y controlable 718

9.1.3 Estable y eficiente719

9.1.4 Minimizar gastos y maximizar beneficios719

9.2 Cómo afrontar los desafíos719

Usar herramientas de modelado de construcción 719

9.2.2 Utilizar un buen marco 720

9.2.3 Extensión selectiva 722

9.2.4 Uso de un generador de código 722

9.3 Introducción a patrones de diseño comunes 722

9.3.1 Modo único 723

Fábrica simple 724

Método de fábrica y fábrica abstracta 730

Modo agente 733

Comando modo 739

9.3.6 Modo estrategia 741

9.3.7 Modo fachada 743

Patrón de puente 746

9.3.9 Patrón de observador 750

9.4 Estrategia general de diseño de arquitectura 753

9.4.1 Modelo de anemia 753

9.4.2 Modelo de objeto de dominio 756

9.4. 3 Fusionar objetos de lógica empresarial y objetos DAO 758

9.4.4 Fusionar objetos de lógica empresarial y objetos de dominio 759.

9.4.5 Renunciar a la capa de lógica empresarial 761

9.5 Descripción general de este capítulo 762

Capítulo 10 Sistema de flujo de trabajo simple 763

10.1 Antecedentes del proyecto y estructura del sistema 764

10.1.1 Antecedentes de la aplicación 764

10.1.2 Introducción a las funciones del sistema 764

10.1.3 Introducción a tecnologías relacionadas

10.1.4 Estructura del sistema 766

10.1.5 Módulos funcionales del sistema 766

10.2 Capa de persistencia del sueño 767

10. 1 Diseñar entidades de persistencia 767

10.2.2 Crear clases de entidades persistentes 768

10.2.3 Mapear entidades persistentes 772

10.3 Implementar la capa DAO 777.

10.3.1 Definición del componente DAO 778

10.3.2 Implementar el componente DAO 783

10.3.3 Implementar la capa DAO 787

10.4 Implementación de la capa de servicio 789

10.4.1 Diseño del componente de lógica de negocios 789

10.4.2 Implementación del componente de lógica de negocios 789

10.4.3 Transacción gestión 795

10.4.4 Implementar componentes de lógica de negocios 795

Realizar la programación automática de tareas 797

10.5.1 Usar cuarzo 797.

10.5.2 implementó System Web Layer 804 en Spring usando Quartz 802

10.6.

10.6.1 Pilar 2 e integración de Spring 804

10.6.2 Secuencia de procesamiento del controlador 805

10.6.3 Inicio de sesión de empleado 806

10.6.4 Ingrese el registro 808.

10.6.5 Procesamiento de tarjetas perforadas 810

10.6.6 Aplicación de entrada 811.

Enviar una solicitud 812

10.6.8 Usar interceptores para completar la gestión de permisos 814

10.7 Resumen de este capítulo 816