Настройка приложения Spring Boot Initializr для использования в облаке кэша Redis для Azure

Из этой статьи вы узнаете, как создать в облаке кэш Redis с помощью портала Azure, использовать Spring Initializr для разработки пользовательского приложения и создать веб-приложение Java, которое хранит и извлекает данные с помощью кэша Redis.

предварительные требования

Чтобы выполнить действия, описанные в этой статье, необходимо следующее:

Создание пользовательского приложения с помощью Spring Initializr

  1. Перейдите по адресу https://start.spring.io/.

  2. Укажите, что вы хотите создать проект Maven на Java, выберите Java версии 8 и введите имена группы и артефакта для своего приложения.

  3. Добавьте зависимости в разделе Spring Web и установите флажок Web (Веб), затем прокрутите вниз до раздела NoSQL и установите флажок Spring Data Reactive Redis.

  4. Прокрутите страницу вниз и нажмите соответствующую кнопку, чтобы создать проект.

    Основные параметры Spring Initializr

    Примечание

    Spring Initializr будет использовать имена группы и артефакта для создания имени пакета, например com.contoso.myazuredemo.

  5. После извлечения файлов в локальной системе пользовательское приложение Spring Boot можно будет редактировать.

    Пользовательские файлы проекта Spring Boot

Создание кэша Redis в Azure

  1. Перейдите на портал Azure по адресу https://portal.azure.com/ и щелкните +Создать.

  2. Выберите База данных, а затем — Кэш Redis.

    Выбор Кэша Redis на портале Azure

  3. На странице Новый кэш Redis укажите следующие сведения:

    • Введите DNS-имя для кэша.
    • Укажите подписку, группу ресурсов, расположение и тип кэша.

    Примечание

    С кэшами Redis можно использовать протокол SSL, но при этом вам потребуется другой клиент Redis, например Jedis. См. подробнее об использовании кэша Redis для Azure с Java.

    Указав эти параметры, перейдите на вкладку Дополнительно.

    Создание кэша на портале Azure

    Установите флажок Порт, отличный от порта TLS, выберите Проверка + создание, просмотрите спецификации и нажмите кнопку Создать.

    Выберите порт, отличный от порта TLS, при создании Кэша Azure.

  4. После создания кэша он появится в списке на информационной панели Azure, а также на страницах Все ресурсы и Кэш Redis. Вы можете выбрать свой кэш в любом из этих расположений, чтобы открыть страницу свойств кэша.

    Ресурс, подготовленный в портал Azure

  5. Когда отобразится страница, содержащая список свойств кэша, щелкните Ключи доступа и скопируйте ключи доступа для кэша.

    Скопируйте ключи доступа в разделе "Ключи доступа".

Настройка пользовательского приложения Spring Boot для использования кэша Redis

  1. Найдите файл application.properties в каталоге resources приложения или создайте файл, если он еще не существует.

    Поиск файла application.properties

  2. Откройте файл application.properties в текстовом редакторе, добавьте указанные ниже строки в файл и замените примеры значений на соответствующие свойства из вашего кэша:

    # 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>
    

    Редактирование файла application.properties

    Примечание

    Если вы используете другой клиент Redis, позволяющий использовать SSL, например Jedis, следует указать порт 6380 в файле application.properties. Пример:

    # 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
    

    См. подробнее об использовании кэша Redis для Azure с Java.

  3. Сохраните и закройте файл application.properties.

  4. Создайте папку с именем controller в исходной папке пакета, например:

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

    -или-

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

  5. Создайте файл с именем HelloController.java в папке controller. Откройте файл в текстовом редакторе и добавьте в него следующий код:

    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);
       }
    }
    

    В этом примере кода необходимо заменить com.contoso.myazuredemo именем пакета проекта.

  6. Сохраните и закройте файл HelloController.java.

  7. Создайте приложение Spring Boot с помощью Maven и запустите его, например, следующим образом:

    mvn clean package
    mvn spring-boot:run
    
  8. Протестируйте веб-приложение. Для этого перейдите в веб-браузере по адресу http://localhost:8080 или используйте следующий синтаксис в cURL:

    curl http://localhost:8080
    

    В примере контроллера должно отобразиться сообщение "Hello World!", которое динамически извлекается из кэша Redis.

Дальнейшие действия

Дополнительные сведения о Spring и Azure см. в центре документации об использовании Spring в Azure.

Дополнительные ресурсы

Дополнительные сведения об использовании приложений Spring Boot в Azure см. в следующих статьях:

Дополнительные сведения об использовании Java в Azure см. в статьях Azure для разработчиков Java и Working with Azure DevOps and Java (Работа с Azure DevOps и Java).

См. подробнее о начале работы с кэшем Redis с помощью Java в Azure.

Spring Framework — это решение с открытым кодом, которое помогает разработчикам Java создавать приложения корпоративного класса. Одним из самых популярных проектов, созданных на этой платформе, является проект Spring Boot. Он упрощает подход к созданию автономных приложений Java. В помощь разработчикам, начинающим работать со Spring Boot, по адресу https://github.com/spring-guides/ доступно несколько примеров пакетов этого приложения. Помимо выбора из списка основных проектов Spring Boot, Spring Initializr помогает разработчикам создавать пользовательские приложения Spring Boot.