¡Acceso ilimitado 24/7 a todos nuestros libros y vídeos! Descubra la Biblioteca Online ENI. Pulse aquí
¡Acceso ilimitado 24/7 a todos nuestros libros y vídeos! Descubra la Biblioteca Online ENI. Pulse aquí
  1. Libros
  2. Java Spring
  3. Ejemplo eampleando el generador JHipster
Extrait - Java Spring Construya aplicaciones reactivas con una arquitectura de microservicios en un entorno Jakarta EE
Extractos del libro
Java Spring Construya aplicaciones reactivas con una arquitectura de microservicios en un entorno Jakarta EE Volver a la página de compra del libro

Ejemplo eampleando el generador JHipster

Introducción

La herramienta JHipster está basada en Yeoman, que es un generador de código que podemos ejecutar para generar aplicaciones completas o partes útiles de una aplicación. Este generador puede ampliarse para generar lo que queramos. Los generadores Yeoman promueven lo que el equipo Yeoman llama el Yeoman workflow. Esta es una pila de herramientas del lado del cliente que puede ayudar a los desarrolladores a crear hermosas aplicaciones web rápidamente. Tiene todo lo necesario para trabajar sin las dificultades habituales asociadas a la configuración manual.

Puede utilizarse a través de:

  • una instalación completa

  • el sitio web https://start.jhipster.tech/

  • una imagen Docker

Utilizamos la versión dockerisada porque es fácil de utilizar y genera aplicaciones reactivas.

Instalación mediante Docker

Podemos instalar JHipster a través de Docker. Los ejemplos utilizan la versión de desarrollo (8.0.0-beta.2).

JHipster tiene un Dockerfile específico, que proporciona una imagen Docker.

Realiza una compilación automatizada Docker disponible en: https://hub.docker.com/r/jhipster/jhipster/

Esta imagen te permite ejecutar JHipster dentro de Docker.

Requisitos previos:

  • (Recomendado) Docker Desktop: la forma más sencilla de crear, ejecutar y probar aplicaciones Dockerizadas. Docker Desktop incluye una interfaz gráfica para gestionar contenedores/imágenes/volúmenes, herramientas de desarrollo de Docker, compatibilidad con Kubernetes y mucho más.

  • Docker Engine: aplicación cliente-servidor con interfaz de línea de comandos (CLI). Siga las instrucciones de instalación de Docker Engine.

Como los archivos generados están en tu carpeta compartida, no se borrarán si detienes tu contenedor Docker. Sin embargo, si no quieres que Docker descargue todas las dependencias de Maven y NPM cada vez que inicies el contenedor, deberías guardar su estado o montar un volumen.

Atención: dependiendo de tu sistema operativo, tu DOCKER_HOST será diferente. En Linux, será su localhost. Para Mac/Windows, necesitará obtener la IP usando el siguiente comando: docker-machine ip default.

En Linux, es posible que tenga que ejecutar el comando Docker como root si su usuario no está en el grupo Docker. Te recomendamos que añadas tu usuario al grupo...

Generación de código

Para ver las fuentes generadas, creamos una aplicación eligiendo todo por defecto, excepto:

  • Webflux

  • Base R2DBC

Estudio del código generado

Para esta sección, hemos utilizado la última versión disponible en el momento de escribir este artículo, la versión 8.0.0-beta2.

Podríamos tomar esta aplicación generada como punto de partida para diseñar una aplicación de ejemplo para nuestros futuros proyectos. También es un marco interesante para estudiar una aplicación muy completa.

La versión de spring-boot es la 3.1.1, que estamos migrando a la 3.1.2.

groupId

artefactId

Versión

Utilidad

tech.jhipster

jhipster-framework

8.0.0-beta.2

Framework de generación de aplicaciones Spring Boot + Angular/React/Vue

org.springframework.boot

spring-boot-configuration- processor

3.1.2

Procesador de metadatos de configuración de Spring Boot

org.springframework.boot

spring-boot-loader-tools

3.1.2

Herramientas para cargar aplicaciones Spring Boot

org.springframework.boot

actuador de arranque por resorte

3.1.2

Puesta en marcha de las funcionalidades de gestión de la producción

org.springframework.boot

spring-boot-starter-data-r2dbc

3.1.2

Iniciación al uso de Spring Data R2DBC

org.springframework.boot

spring-boot-starter-logging

3.1.2

Iniciador para el registro con Logback

org.springframework.boot

spring-boot-starter-mail

3.1.2

Inicio para utilizar el mailing

org.springframework.boot

spring-boot-starter-oauth2-resource- server

3.1.2

Starter para crear un servidor de recursos OAuth2

org.springframework.boot

spring-boot-starter- seguridad

3.1.2

Iniciación a las funciones de seguridad de Spring Boot

org.springframework.boot

spring-boot-starter-test

3.1.2

Starter para pruebas con Spring Boot

org.springframework.boot

spring-boot-starter-thymeleaf

3.1.2

Starter para la utilización de Thymeleaf como motor de plantillas

org.springframework.boot

spring-boot-starter- validación

3.1.2

Starter para la validación de Java Bean

org.springframework.boot

spring-boot-starter-webflux

3.1.2

Starter para las aplicaciones web reactivas con Spring WebFlux

org.springframework.boot

spring-boot-test

3.1.2

Compatibilidad con pruebas de Spring Boot

org.springframework .security

primavera-prueba de seguridad

3.1.2

Compatibilidad con las pruebas de seguridad de Spring

org.springdoc

springdoc- openapi- starter-webflux-api

3.1.2

Starter para la documentación de API con SpringDoc para WebFlux

com.fasterxml .jackson .datatype

jackson-datatype-hppc

-

Módulo...

Conclusión

JHipster es una herramienta de generación de aplicaciones robusta y probada que combina varias tecnologías de vanguardia para proporcionar una base sólida para el desarrollo de aplicaciones modernas. Cuando se trata de crear aplicaciones basadas en Spring WebFlux, JHipster ofrece un sinfín de ventajas.

  • Rápida puesta en marcha: con JHipster, la configuración de una aplicación Spring WebFlux se acelera enormemente. Lo que podría llevar días o semanas de forma manual se puede realizar en minutos con JHipster.

  • Mejores prácticas integradas: JHipster incorpora las mejores prácticas en el desarrollo de aplicaciones, lo que garantiza que la aplicación resultante no solo sea funcional, sino también optimizada y segura.

  • Personalización: aunque JHipster automatiza muchos aspectos del desarrollo, también ofrece una gran flexibilidad a la hora de personalizar la aplicación para adaptarla a las necesidades específicas del proyecto.

  • Integración con otras tecnologías: JHipster admite la integración con diversas bases de datos, herramientas de autenticación y otras tecnologías, lo que garantiza que la aplicación esté preparada para una gran variedad de escenarios de uso.

  • Amplia documentación: una de las mayores ventajas de JHipster es su activa comunidad y su completa documentación...