Краткое руководство. Создание приложения Java Spring с помощью службы "Конфигурация приложений Azure"

В этом кратком руководстве описано, как добавить службу "Конфигурация приложений Azure" в приложение Java Spring, чтобы обеспечить централизованное хранение параметров приложения и управление ими отдельно от кода.

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

  • Учетная запись Azure с активной подпиской. Создайте бесплатно.
  • Хранилище Конфигурация приложений. Создайте магазин.
  • Поддерживаемый комплект разработчика Java (JDK) версии 11.
  • Apache Maven версии 3.0 или более поздней.
  • Приложение Spring Boot. Если у вас его нет, создайте проект Maven с помощью Spring Initializr. Не забудьте выбрать Проект Maven и в разделе Зависимости добавьте зависимость Spring Web , а затем выберите Java версии 8 или более поздней.

Добавление ключа-значения

Добавьте следующие значения "ключ-значение" в хранилище Конфигурация приложений и оставьте метку и тип контента со значениями по умолчанию. Дополнительные сведения о добавлении "ключ-значение" в хранилище с помощью портал Azure или CLI см. в статье Создание ключа-значения.

Ключ Значение
/application/config.message Привет

Подключение к хранилищу Конфигурации приложений

Теперь, когда у вас есть хранилище Конфигурация приложений, вы можете использовать начальное приложение Spring Cloud Azure Config для взаимодействия с хранилищем Конфигурация приложений, которое вы создаете.

Чтобы установить начальный модуль Конфигурации Azure Spring Cloud, добавьте следующую зависимость в файлpom.xml :

<dependency>
    <groupId>com.azure.spring</groupId>
    <artifactId>spring-cloud-azure-appconfiguration-config-web</artifactId>
</dependency>

<dependencyManagement>
    <dependencies>
        <dependency>
        <groupId>com.azure.spring</groupId>
        <artifactId>spring-cloud-azure-dependencies</artifactId>
        <version>5.8.0</version>
        <type>pom</type>
        <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

Добавление кода приложения

Чтобы использовать начальное приложение Spring Cloud Azure Config для взаимодействия приложения с созданным хранилищем Конфигурация приложений, настройте приложение, выполнив следующие действия.

  1. Создайте файл Java с именем MessageProperties.java и добавьте следующие строки:

    import org.springframework.boot.context.properties.ConfigurationProperties;
    
    @ConfigurationProperties(prefix = "config")
    public class MessageProperties {
        private String message;
    
        public String getMessage() {
            return message;
        }
    
        public void setMessage(String message) {
            this.message = message;
        }
    }
    
  2. Создайте файл Java с именем HelloController.java и добавьте следующие строки:

    import org.springframework.web.bind.annotation.GetMapping;
    import org.springframework.web.bind.annotation.RestController;
    
    @RestController
    public class HelloController {
        private final MessageProperties properties;
    
        public HelloController(MessageProperties properties) {
            this.properties = properties;
        }
    
        @GetMapping
        public String getMessage() {
            return "Message: " + properties.getMessage();
        }
    }
    
  3. В файле Java приложения main добавьте @EnableConfigurationProperties , чтобы включить в действие класс свойств конфигурации MessageProperties.java и зарегистрировать его в контейнере Spring.

    import org.springframework.boot.context.properties.EnableConfigurationProperties;
    
    @SpringBootApplication
    @EnableConfigurationProperties(MessageProperties.class)
    public class DemoApplication {
        public static void main(String[] args) {
            SpringApplication.run(DemoApplication.class, args);
        }
    }
    
  4. Откройте автоматически созданный модульный тест и обновите его, чтобы отключить Конфигурация приложений Azure, иначе он попытается загрузиться из службы при выполнении модульных тестов.

    import org.junit.jupiter.api.Test;
    import org.springframework.boot.test.context.SpringBootTest;
    
    @SpringBootTest(properties = "spring.cloud.azure.appconfiguration.enabled=false")
    class DemoApplicationTests {
    
        @Test
        void contextLoads() {
        }
    
    }
    
  5. Создайте файл с именем bootstrap.properties в каталоге resources приложения и добавьте в файл следующую строку.

    spring.cloud.azure.appconfiguration.stores[0].connection-string= ${APP_CONFIGURATION_CONNECTION_STRING}
    
  6. Задайте переменную среды с именем APP_CONFIGURATION_CONNECTION_STRING и присвойте ей значение ключа доступа к хранилищу службы "Конфигурация приложений". В командной строке выполните следующую команду и перезапустите командную строку, чтобы изменения вступили в силу:

    setx APP_CONFIGURATION_CONNECTION_STRING "connection-string-of-your-app-configuration-store"
    

    Если вы используете Windows PowerShell, выполните следующую команду:

    $Env:APP_CONFIGURATION_CONNECTION_STRING = "connection-string-of-your-app-configuration-store"
    

    Если вы используете macOS или Linux, выполните следующую команду:

    export APP_CONFIGURATION_CONNECTION_STRING='connection-string-of-your-app-configuration-store'
    

Создание и запуск приложения локально

  1. В командной строке откройте корневой каталог и выполните следующие команды, чтобы скомпилировать приложение Spring Boot с помощью Maven и запустить его.

    mvn clean package
    mvn spring-boot:run
    
  2. После запуска приложение можно протестировать с помощью средства curl, например:

    curl -X GET http://localhost:8080/
    

    Вы увидите сообщение, которое указали в хранилище конфигураций приложений.

Очистка ресурсов

Если вы не планируете в дальнейшем использовать ресурсы, созданные при работе с этой статьей, удалите созданную группу ресурсов, чтобы избежать расходов.

Важно!

Удаление группы ресурсов — процесс необратимый. Группа ресурсов и все содержащиеся в ней ресурсы удаляются без возможности восстановления. Будьте внимательны, чтобы случайно не удалить не те ресурсы или группу ресурсов. Если ресурсы для работы с этой статьей созданы в группе ресурсов, которая содержит другие нужные ресурсы, удалите каждый ресурс отдельно в соответствующей области ресурса, чтобы не удалять группу ресурсов.

  1. Войдите на портал Azure и выберитеГруппы ресурсов.
  2. Введите имя группы ресурсов в поле Фильтровать по имени.
  3. В списке результатов выберите имя группы ресурсов, чтобы просмотреть общие сведения.
  4. Выберите Удалить группу ресурсов.
  5. Подтвердите операцию удаления группы ресурсов. Введите имя группы ресурсов, которую необходимо удалить, и нажмите Удалить.

Через некоторое время группа ресурсов и все ее ресурсы будут удалены.

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

В этом кратком руководстве описано, как создать хранилище конфигураций приложений и использовать его с приложением Java Spring. Дополнительные сведения см. в статье Spring в Azure. Если возникнут дополнительные вопросы, см. справочную документацию, в ней подробно описан принцип работы библиотеки Spring Cloud для Конфигурации приложений Azure. Чтобы узнать, как включить в приложении Java Spring динамическое обновление параметров конфигурации, перейдите к следующему руководству.