Configuración de una aplicación de Spring Boot Initializr para usar Redis en la nube con Azure Redis Cache
Este artículo le ayuda a crear una memoria caché en Redis en la nube mediante Azure Portal, después a utilizar Spring Initializr para crear una aplicación personalizada y, por último, a crear una aplicación web de Java que almacena y recupera datos mediante la memoria caché en Redis.
Prerequisites
Los siguientes requisitos previos son necesarios para seguir los pasos descritos en este artículo:
- Una suscripción de Azure. Si todavía no la tiene, puede activar sus ventajas como suscriptor de MSDN o registrarse para obtener una cuenta de Azure gratuita.
- Un kit de desarrollo de Java (JDK) admitido Para más información sobre los JDK disponibles para desarrollar en Azure, consulte Compatibilidad con Java en Azure y Azure Stack.
- Apache Maven, versión 3.0 o posterior.
Creación de una aplicación personalizada mediante Spring Initializr
Vaya a https://start.spring.io/.
Especifique que quiere generar un proyecto de Maven con Java, selección la versión 8 de Java y escriba los nombres de Group (Grupo) y Artifact (Artefacto) de la aplicación.
Agregue las dependencias de la sección Spring Web, active la casilla Web, desplácese hacia abajo hasta la sección NoSQL y active la casilla Spring Data Reactive Redis (Reactivación de los datos de Spring en Redis).
Desplácese a la parte inferior de la página y haga clic en el botón Generate Project (Generar proyecto).

Nota
Spring Initializr usará los nombres de Group (Grupo) y Artifact (Artefacto) para crear el nombre del paquete, por ejemplo: com.contoso.myazuredemo.
Después de extraer los archivos en el sistema local, la aplicación personalizada de Spring Boot estará lista para editarla.

Crear una caché de Redis en Azure
Vaya a la Azure Portal en https://portal.azure.com/ y haga clic en https://portal.azure.com/
Haga clic en Base de datos y luego en Redis Cache.

En la página Nueva caché en Redis, especifique la información siguiente:
- Escriba el Nombre DNS de su memoria caché.
- Especifique la suscripción, Grupo de recursos, Ubicación y Tipo de caché.
Nota
Puede utilizar SSL con memorias caché de Redis, pero tendría que usar otro cliente Redis como Jedis. Para más información, consulte Uso de Azure Redis Cache con Java.
Cuando haya especificado estas opciones, seleccione la pestaña Avanzado.

Active la casilla situada junto a Puerto no TLS y, a continuación, seleccione Revisar y crear, revise las especificaciones y seleccione Crear.

Una vez completada la memoria caché, verá que aparece en su Panel de Azure, así como en las páginas Todos los recursos y Cachés en Redis. Puede hacer clic en la memoria caché en cualquiera de esas ubicaciones para abrir la página de propiedades de dicha memoria caché.

Cuando se muestre la página que contiene la lista de propiedades de la memoria caché, haga clic en Claves de acceso y copie las claves de acceso de la memoria caché.

Configuración de su Spring Boot personalizada para usar Redis Cache
Busque el archivo application.properties en el directorio resources de la aplicación, o cree el archivo si todavía no existe.

Abra el archivo application.properties en un editor de texto y agréguele las siguientes líneas; luego, sustituya los valores de ejemplo por las propiedades adecuadas de la memoria caché:
# Specify the DNS URI of your Redis cache. spring.redis.host=myspringbootcache.redis.cache.windows.net # Specify the port for your Redis cache. spring.redis.port=6379 # Specify the access key for your Redis cache. spring.redis.password=<your-redis-access-key>
Nota
Si utilizaba un cliente de Redis diferente como Jedis, que habilita SSL, debería especificar que va a utilizar SSL en el archivo application.properties y usar el puerto 6380. Por ejemplo:
# Specify the DNS URI of your Redis cache. spring.redis.host=myspringbootcache.redis.cache.windows.net # Specify the access key for your Redis cache. spring.redis.password=<your-redis-access-key> # Specify that you want to use SSL. spring.redis.ssl=true # Specify the SSL port for your Redis cache. spring.redis.port=6380Para más información, consulte Uso de Azure Redis Cache con Java.
Guarde y cierre el archivo application.properties.
Cree una carpeta denominada controller en la carpeta de origen para el paquete; por ejemplo:
C:\SpringBoot\myazuredemo\src\main\java\com\contoso\myazuredemo\controllerO bien
/users/example/home/myazuredemo/src/main/java/com/contoso/myazuredemo/controllerCree un archivo denominado HelloController.java en la carpeta controller. Abra el archivo en un editor de texto y agréguele el siguiente código:
package com.contoso.myazuredemo; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.data.redis.core.StringRedisTemplate; import org.springframework.data.redis.core.ValueOperations; @RestController public class HelloController { @Autowired private StringRedisTemplate template; @RequestMapping("/") // Define the Hello World controller. public String hello() { ValueOperations<String, String> ops = this.template.opsForValue(); // Add a Hello World string to your cache. String key = "greeting"; if (!this.template.hasKey(key)) { ops.set(key, "Hello World!"); } // Return the string from your cache. return ops.get(key); } }Necesitará reemplazar
com.contoso.myazuredemocon el nombre del paquete para el proyecto.Guarde y cierre el archivo HelloController.java.
Compile la aplicación de Spring Boot con Maven y ejecútela; por ejemplo:
mvn clean package mvn spring-boot:runPruebe la aplicación web. Para ello, vaya a
http://localhost:8080con un explorador web, o bien utilice una sintaxis como la del siguiente ejemplo si tiene cURL disponible:curl http://localhost:8080Debería ver el mensaje "Hola mundo!" del controlador de ejemplo que se recupera dinámicamente de la caché de Redis.
Pasos siguientes
Para más información acerca de Spring y Azure, vaya al centro de documentación de Azure.
Recursos adicionales
Para obtener más información sobre el uso de aplicaciones de Spring Boot en Azure, consulte los siguientes artículos:
Implementación de una aplicación de Spring Boot en Azure App Service en Linux
Ejecución de una aplicación de Spring Boot en un clúster de Kubernetes en Azure Container Service
Para más información sobre el uso de Azure con Java, consulte Azure para desarrolladores de Java y Working with Azure DevOps and Java (Trabajo con Azure DevOps y Java).
Para más información sobre la introducción al uso de Redis Cache con Java en Azure, consulte Uso de Azure Redis Cache con Java.
Spring Framework es una solución de código abierto que ayuda a los desarrolladores de Java a crear aplicaciones de nivel empresarial. Uno de los proyectos más populares que se basa en esa plataforma es Spring Boot, que proporciona un enfoque simplificado para crear aplicaciones de Java independientes. Para ayudar a los desarrolladores a empezar con Spring Boot, puede encontrar varios paquetes de ejemplo de Spring Boot en https://github.com/spring-guides/. Además de elegir de la lista de proyectos básicos de Spring Boot, el Spring Initializr ayuda a los desarrolladores en los primeros pasos para crear aplicaciones de Spring Boot personalizadas.