Gyakorlat – Spring Data Redist használó Spring Boot-alkalmazás létrehozása

Befejeződött

Ebben a leckében létrehoz egy Spring Boot-alkalmazást, amely a Spring Data Redis használatával tárolja és kéri le az adatokat az Azure Cache for Redisből. Létrehozhatja az alkalmazást, kivéve az Azure Cache for Redis végső kapcsolatát, miközben megvárja, amíg az Azure Cache for Redis-példánya befejezi az üzembe helyezést.

A Spring Boot-projekt létrehozása

A Spring Boot-projekt létrehozásához futtassa a következő Spring Initializr parancssort:

curl https://start.spring.io/starter.tgz -d type=maven-project -d dependencies=web,data-redis -d baseDir=spring-redis-application -d bootVersion=2.4.1.RELEASE -d javaVersion=1.8 | tar -xzvf -

Megjegyzés:

A parancs használja Spring Web és Spring Data Redis összetevőit. Spring Data Redis A Saláta Redis illesztőprogramot használja, amelyet speciálisabb feladatokhoz is használhat.

Spring-kód hozzáadása az adatok kezeléséhez

  1. A Spring Boot-projektben a DemoApplication osztály mellett adjon hozzá egy Todo tartományi objektumot az alábbiak szerint:

    package com.example.demo;
    
    import org.springframework.data.annotation.Id;
    import org.springframework.data.redis.core.RedisHash;
    
    import java.io.Serializable;
    
    @RedisHash("Todo")
    public class Todo implements Serializable {
    
        public Todo() {
        }
    
        public Todo(String description, String details, boolean done) {
            this.description = description;
            this.details = details;
            this.done = done;
        }
    
        @Id
        private Long id;
    
        private String description;
    
        private String details;
    
        private boolean done;
    
        public Long getId() {
            return id;
        }
    
        public void setId(Long id) {
            this.id = id;
        }
    
        public String getDescription() {
            return description;
        }
    
        public void setDescription(String description) {
            this.description = description;
        }
    
        public String getDetails() {
            return details;
        }
    
        public void setDetails(String details) {
            this.details = details;
        }
    
        public boolean isDone() {
            return done;
        }
    
        public void setDone(boolean done) {
            this.done = done;
        }
    }
    
  2. Hozzon létre egy TodoRepository nevű Spring Data Redis-adattárat a gyűjtemény kezeléséhez az alábbiak szerint:

    package com.example.demo;
    
    import org.springframework.data.repository.CrudRepository;
    import org.springframework.stereotype.Repository;
    
    @Repository
    public interface TodoRepository extends CrudRepository<Todo, String> {
    
    }
    
  3. Adjon hozzá egy TodoController nevű Spring MVC-vezérlőt az alábbiak szerint:

     package com.example.demo;
    
    import org.springframework.http.HttpStatus;
    import org.springframework.web.bind.annotation.*;
    
    @RestController
    @RequestMapping("/")
    public class TodoController {
    
        private final TodoRepository todoRepository;
    
        public TodoController(TodoRepository todoRepository) {
            this.todoRepository = todoRepository;
        }
    
        @PostMapping("/")
        @ResponseStatus(HttpStatus.CREATED)
        public Todo createTodo(@RequestBody Todo todo) {
            return todoRepository.save(todo);
        }
    
        @GetMapping("/")
        public Iterable<Todo> findAllTodos() {
            return todoRepository.findAll();
        }
    }
    

Az Azure Cache for Redis biztonsági kulcsainak lekérése

  1. Futtassa a következő parancsot annak ellenőrzéséhez, hogy az Azure Cache for Redis-példány készen áll-e a használatra.

    az redis show --name $AZ_REDIS_NAME --resource-group $AZ_RESOURCE_GROUP
    

    A parancs egy attribútumot tartalmazó JSON-adatokat ad provisioningState vissza. Ha provisioningState rendelkezik az értékkel Succeeded, az Azure Cache for Redis-példány teljes mértékben elérhető.

    Tipp.

    Ha rendelkezik a jq segédprogrammal, a következő egyetlen parancssor használatával ellenőrizheti a készültséget:

    az redis show --name $AZ_REDIS_NAME --resource-group $AZ_RESOURCE_GROUP | jq '.provisioningState'
    
  2. Ha az Azure Cache for Redis-példány készen áll, futtassa a következő parancsot a biztonsági kulcsok lekéréséhez:

    az redis list-keys \
        --resource-group $AZ_RESOURCE_GROUP \
        --name $AZ_REDIS_NAME
    

    Másolja ki a primaryKey kimenetből a következő lépésben használni kívánt értéket.

A Spring Boot konfigurálása az Azure Cache for Redishez való csatlakozáshoz

Nyissa meg az src/main/resources/application.properties konfigurációs fájlt az alkalmazásban, és adja hozzá a következő tulajdonságokat. Cserélje le a <redisName> helyőrzőt a Redis-példány nevére, és cserélje le a <redisPrimaryKey> helyőrzőt az primaryKey előző lépésben kapott értékre.

spring.redis.host=<redisName>.redis.cache.windows.net
spring.redis.password=<redisPrimaryKey>
spring.redis.port=6380
spring.redis.ssl=true

Az alkalmazás helyi tesztelése

  1. Futtassa a Spring Boot-alkalmazást a végrehajtható DemoApplication fejlesztői környezetben való futtatásával vagy a Spring Boot Maven beépülő modul futtatásával az alábbiak szerint:

    ./mvnw spring-boot:run
    
  2. Ha az alkalmazás fut, az alábbi paranccsal tárolhatja az adatokat a Redisben:

    curl -d '{"description":"a description", "details":"some details"}' -H "Content-Type: application/json" -X POST http://127.0.0.1:8080
    
  3. Most kérje le az adatokat a Redisből:

    curl http://127.0.0.1:8080
    

A következő leckében megtudhatja, hogyan használhatja az Azure Cache for Redist a HTTP-munkamenetek adatainak spring session-en keresztüli tárolására.