/windoctor7.github.io

Blog personal enfocado a temas de desarrollo de software

Primary LanguageHTMLMIT LicenseMIT

Desarrollo ágil de aplicaciones con Java

Frecuentemente se asocia a Java con un lenguaje lento y verboso para desarrollar aplicaciones. En mi blog hago un intento nada forzado para cambiar esta perspectiva y dar a conocer herramientas y frameworks que nos permiten desarrollar aplicaciones con la plataforma Java de forma ágil y robusta.

¿Qué ejemplos voy a encontrar aquí?

Principalmente encontrarás código fuente que usa Spring Boot, Tapestry, MongoDB y de algunos lenguajes que soporta la JVM como por ejemplo Groovy, Scala y Kotlin.

Todos los ejemplos están construidos con Gradle por lo que clonar el repositorio y abrirlo con tu IDE favorito será muy fácil.

¿Como ejecutar los ejemplos?

Mediante el Wrapper de Gradle.

  1. Clona el repositorio ó baja el ZIP y descomprimelo en tu computadora.
  2. Sitúate en la carpeta específica del ejemplo que deseas ejecutar.
  3. Ahí encontrarás 2 archivos, gradlew y gradlew.bat que dependiendo del sistema operativo deberás usar. Asumiendo que la mayoría usa Linux o Mac OS ejecutaríamos esto:

Revisa en la carpeta del código fuente del proyecto, si no existen otras indicaciones en el archivo README.md entonces puedes ejecutar el proyecto generalmente de la siguiente forma:

Para ejemplos con Spring Boot

 $ ./gradlew bootRun

Para ejemplos que usen Tapestry

 $ ./gradlew jettyRun

Si el archivo README.md del proyecto contiene indicaciones adicionales, entonces deberás seguir tales.  

Índice de código

Se enlista a continuación una pequeña descripción de cada una de las carpetas de código existente y el enlace al tutorial de mi blog que explica su funcionamiento.

Código Descripción
inyeccion-dependencia Se explica el concepto de inyección de dependencia utilizando Spring
spring-scheduler Se explica como programar tareas que se ejecuten automáticamente usando la anotación @Scheduledde Spring. Una excelente alternativa a Quartz.
spring-set-profile Frecuentemente necesitamos obtener recursos o urls que varian dependiendo si estamos ejecutando la aplicación en desarrollo, QA o producción. Este tutorial explica como hacerlo de forma muy fácil usando los perfiles de Spring.
spring-async Este Cookbook simula el registro de un usuario en una base de datos mientras envia correos electronicos reales en segundo plano usando el servidor SMTP de Google
spring-rest-1 Video que muestra como desarrollar un sencillo servicio web tipo REST usando Spring Boot.
spring-retry Cuando el envío de un correo electrónico falla ó un servicio web no responde por intermitencias en la red o porque el servidor está caído, es importante tener un sistema preparado para reintentar la operación. En este cookbook veremos como hacer esto con spring-retry.
spring-statemachine En este cookbook modelaremos una sencilla encuesta con máquinas de estados usando el proyecto oficial spring-statemachine.
spring-webflux En este tutorial se muestra un sencillo ejemplo usando programación reactiva de Spring 5 (Spring Boot 2)
spring-auth-jwt En este tutorial aprenderás como implementar seguridad basada en token a tus servicios REST mediante JSON Web Token.
spring4-sse Muestra código de ejemplo del uso de Server-Sent Events usando Spring 4.
spring-jdbctemplate Aprenderemos lo fácil que resulta trabajar con una base de datos relacional H2 en memoria y con mysql usando Spring Boot.
spring5-webflux En este tutorial se explica el concepto de Programación Reactiva de forma simple y clara. Al final desarrollamos un ejemplo web usando WebFlux de Spring 5 y el soporte para MongoDB y Thymeleaf reactivo.
spring5-reactive-kotlin En este tutorial aprenderemos como hacer una búsqueda con autocompletado reactivo utilizando Kotlin y Spring Boot 2 en el back-end y RxJS en el front-end.