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:

Creación de una aplicación personalizada mediante Spring Initializr

  1. Vaya a https://start.spring.io/.

  2. 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.

  3. 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).

  4. Desplácese a la parte inferior de la página y haga clic en el botón Generate Project (Generar proyecto).

    Opciones básicas de Spring Initializr

    Nota

    Spring Initializr usará los nombres de Group (Grupo) y Artifact (Artefacto) para crear el nombre del paquete, por ejemplo: com.contoso.myazuredemo.

  5. Después de extraer los archivos en el sistema local, la aplicación personalizada de Spring Boot estará lista para editarla.

    Archivos de proyecto personalizados de Spring Boot

Crear una caché de Redis en Azure

  1. Vaya a la Azure Portal en https://portal.azure.com/ y haga clic en https://portal.azure.com/

  2. Haga clic en Base de datos y luego en Redis Cache.

    Selección de Redis Cache en Azure Portal.

  3. 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.

    Creación de la memoria caché en Azure Portal.

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

    Seleccione Puerto no TLS al crear la cache de Azure.

  4. 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é.

    Recurso aprovisionado en Azure Portal.

  5. 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é.

    Copia de las claves de acceso en la sección Claves de acceso.

Configuración de su Spring Boot personalizada para usar Redis Cache

  1. Busque el archivo application.properties en el directorio resources de la aplicación, o cree el archivo si todavía no existe.

    Localización del archivo application.properties

  2. 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>
    

    Edición del archivo application.properties

    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=6380
    

    Para más información, consulte Uso de Azure Redis Cache con Java.

  3. Guarde y cierre el archivo application.properties.

  4. Cree una carpeta denominada controller en la carpeta de origen para el paquete; por ejemplo:

    C:\SpringBoot\myazuredemo\src\main\java\com\contoso\myazuredemo\controller

    O bien

    /users/example/home/myazuredemo/src/main/java/com/contoso/myazuredemo/controller

  5. Cree 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.myazuredemo con el nombre del paquete para el proyecto.

  6. Guarde y cierre el archivo HelloController.java.

  7. Compile la aplicación de Spring Boot con Maven y ejecútela; por ejemplo:

    mvn clean package
    mvn spring-boot:run
    
  8. Pruebe la aplicación web. Para ello, vaya a http://localhost:8080 con un explorador web, o bien utilice una sintaxis como la del siguiente ejemplo si tiene cURL disponible:

    curl http://localhost:8080
    

    Deberí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:

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.