Come configurare un'app Spring Boot Initializer per l'uso della cache Redis

Panoramica

Spring Framework è una soluzione open source che consente agli sviluppatori Java di creare applicazioni di livello enterprise. Uno dei progetti più comuni che si basa su questa piattaforma è Spring Boot, che fornisce un approccio semplificato per la creazione di applicazioni Java autonome. Per semplificare le operazioni iniziali con Spring Boot per gli sviluppatori, alcuni pacchetti Spring Boot di esempio sono disponibili in https://github.com/spring-guides/. Oltre a consentire di scegliere dall'elenco di progetti Spring Boot di base, Spring Initializr semplifica le operazioni iniziali degli sviluppatori per la creazione di applicazioni Spring Boot personalizzate.

Questo articolo illustra in modo dettagliato come creare una cache Redis tramite il portale di Azure, come usare Spring Initializr per creare un'applicazione personalizzata e quindi come creare un'applicazione Web Java che archivia e recupera dati tramite la cache Redis.

Prerequisiti

I prerequisiti seguenti sono necessari per seguire le procedure disponibili in questo articolo:

Creare una cache Redis in Azure

  1. Passare al portale di Azure all'indirizzo https://portal.azure.com/ e fare clic sulla voce +Nuovo.

    Portale di Azure

  2. Fare clic su Database e quindi su Cache Redis.

    Portale di Azure

  3. Nel pannello Nuova cache Redis immettere il Nome DNS per la cache, quindi specificare i valori per Sottoscrizione, Gruppo di risorse **, **Posizione e Piano tariffario. Dopo avere specificato queste opzioni, fare clic su Crea per creare la cache.

    Portale di Azure

  4. Quando la cache è stata creata, verrà elencata nel Dashboard di Azure, oltre che nei pannelli Tutte le risorse e Caches Redis. È possibile selezionare la cache in una di queste posizioni per aprire il pannello delle proprietà per la cache.

    Portale di Azure

  5. Quando viene visualizzato il pannello contenente l'elenco di proprietà per la cache, fare clic su Chiavi di accesso e copiare le chiavi di accesso per la cache.

    Portale di Azure

Creare un'applicazione personalizzata tramite Spring Initializr

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

  2. Specificare che si vuole generare un progetto Maven con Java, immettere i nomi di Group (Gruppo) e Artifact (Elemento) per l'applicazione e quindi fare clic sul collegamento relativo a Switch to the full version (Passa alla versione completa) di Spring Initializr.

    Opzioni di base di Spring Initializr

    Nota

    Spring Initializr userà i valori di Group (Gruppo) e Artifact (Elemento) per creare il nome del pacchetto, ad esempio com.contoso.myazuredemo.

  3. Scorrere verso il basso fino alla sezione Web e selezionare la casella relativa a Web, quindi scorrere verso il basso fino alla sezione NoSQL e selezionare la casella Redis. Scorrere infine fino alla parte inferiore della pagina e fare clic sul pulsante Generate Project (Genera progetto).

    Opzioni complete di Spring Initializr

  4. Quando richiesto, scaricare il progetto in un percorso nel computer locale.

    Scaricare il progetto Spring Boot

  5. Dopo l'estrazione dei file nel sistema locale, l'applicazione Spring Boot personalizzata sarà pronta per la modifica.

    File di progetto Spring Boot personalizzati

Configurare il progetto Spring Boot personalizzato per l'uso della cache Redis

  1. Individuare il file application.properties nella directory resources dell'app o creare il file se non esiste già.

    Individuare il file application.properties

  2. Aprire il file application.properties in un editor di testo, quindi aggiungere le righe seguenti al file e sostituire i valori di esempio con le proprietà appropriate dalla cache:

    # Specify the DNS URI of your Redis cache.
    spring.redisHost=myspringbootcache.redis.cache.windows.net
    
    # Specify the access key for your Redis cache.
    spring.redisPassword=447564652c20426f6220526f636b7321
    

    Modifica del file application.properties

  3. Salvare e chiudere il file application.properties.

  4. Creare una cartella denominata controller nella cartella di origine del pacchetto, ad esempio:

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

    -oppure-

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

  5. Creare un file denominato HelloController.java nella cartella controller appena creata, quindi aggiungere il codice seguente al file:

    package com.contoso.myazuredemo;
    
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RestController;
    import org.springframework.beans.factory.annotation.Value;
    import redis.clients.jedis.Jedis;
    import redis.clients.jedis.JedisShardInfo;
    
    @RestController
    public class HelloController {
    
       // Retrieve the DNS name for your cache.
       @Value("${spring.redisHost}")
       private String redisHost;
    
       // Retrieve the access key for your cache.
       @Value("${spring.redisPassword}")
       private String redisPassword;
    
       @RequestMapping("/")
       // Define the Hello World controller.
       public String hello() {
    
          // Create a JedisShardInfo object to connect to your Redis cache.
          JedisShardInfo jedisShardInfo = new JedisShardInfo(redisHost, 6380, true);
          // Specify your access key.
          jedisShardInfo.setPassword(redisPassword);
          // Create a Jedis object to store/retrieve information from your cache.
          Jedis jedis = new Jedis(jedisShardInfo);
    
          // Add a Hello World string to your cache.
          jedis.set("greeting", "Hello World!");
    
          // Return the string from your cache.
          return jedis.get("greeting");
       }
    }
    

    Sarà necessario sostituire com.contoso.myazuredemo con il nome del pacchetto per il progetto.

  6. Salvare e chiudere il file HelloController.java.

  7. Compilare l'applicazione Spring Boot con Maven ed eseguirla, ad esempio:

    mvn package
    java -jar target/myazuredemo-0.0.1-SNAPSHOT.jar
    
  8. Testare l'app Web passando a http://localhost:8080 tramite un Web browser o usare una sintassi simile all'esempio seguente, se si hanno curl disponibili:

    curl http://localhost:8080
    

    Dovrebbe essere visualizzato il messaggio "Hello World!" dal controller di esempio, recuperato dinamicamente dalla cache Redis.

Passaggi successivi

Per altre informazioni sull'uso delle applicazioni Spring Boot in Azure, vedere gli articoli seguenti:

Per altre informazioni su come usare Azure con Java, vedere il Centro per sviluppatori Java di Azure e gli strumenti Java per Visual Studio Team Services.

Per altre informazioni sulle operazioni iniziali nella cache Redis con Java in Azure, vedere Come usare Cache Redis di Azure con Java.