Краткое руководство. Создание приложения 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 или ИНТЕРФЕЙСА командной строки см. в разделе "Создание значения ключа".
Ключ | Значение |
---|---|
/application/config.message | Привет |
Подключение к хранилищу Конфигурации приложений
Теперь, когда у вас есть хранилище Конфигурация приложений, вы можете использовать начальный элемент Конфигурации Spring Cloud для взаимодействия приложения с создаваемым хранилищем Конфигурация приложений.
Чтобы установить начальный модуль конфигурации Spring Cloud Azure, добавьте в файл 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, чтобы приложение связылось с созданным хранилищем Конфигурация приложений, настройте приложение с помощью следующих действий.
Создайте файл Java с именем MyProperties.java и добавьте следующие строки:
import org.springframework.boot.context.properties.ConfigurationProperties; @ConfigurationProperties(prefix = "config") public class MyProperties { private String message; public String getMessage() { return message; } public void setMessage(String message) { this.message = message; } }
Создайте файл Java с именем HelloController.java и добавьте следующие строки:
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; @RestController public class HelloController { private final MyProperties properties; public HelloController(MyProperties properties) { this.properties = properties; } @GetMapping public String getMessage() { return "Message: " + properties.getMessage(); } }
В файле Java основного приложения добавьте
@EnableConfigurationProperties
в силу класс свойств конфигурации MyProperties.java и зарегистрируйте его в контейнере Spring.import org.springframework.boot.context.properties.EnableConfigurationProperties; @SpringBootApplication @EnableConfigurationProperties(MyProperties.class) public class DemoApplication { public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); } }
Откройте автоматически созданный модульный тест и обновите его, чтобы отключить Конфигурация приложений 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() { } }
Создайте файл с именем bootstrap.properties в каталоге ресурсов приложения и добавьте в файл следующую строку.
spring.cloud.azure.appconfiguration.stores[0].connection-string= ${APP_CONFIGURATION_CONNECTION_STRING}
Задайте переменную среды с именем 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'
Создание и запуск приложения локально
В командной строке откройте корневой каталог и выполните следующие команды, чтобы скомпилировать приложение Spring Boot с помощью Maven и запустить его.
mvn clean package mvn spring-boot:run
После запуска приложение можно протестировать с помощью средства curl, например:
curl -X GET http://localhost:8080/
Вы увидите сообщение, которое указали в хранилище конфигураций приложений.
Очистка ресурсов
Если вы не планируете в дальнейшем использовать ресурсы, созданные при работе с этой статьей, удалите созданную группу ресурсов, чтобы избежать расходов.
Внимание
Удаление группы ресурсов — процесс необратимый. Группа ресурсов и все содержащиеся в ней ресурсы удаляются без возможности восстановления. Будьте внимательны, чтобы случайно не удалить не те ресурсы или группу ресурсов. Если ресурсы для работы с этой статьей созданы в группе ресурсов, которая содержит другие нужные ресурсы, удалите каждый ресурс отдельно в соответствующей области ресурса, чтобы не удалять группу ресурсов.
- Войдите на портал Azure и выберитеГруппы ресурсов.
- Введите имя группы ресурсов в поле Фильтровать по имени.
- В списке результатов выберите имя группы ресурсов, чтобы просмотреть общие сведения.
- Выберите команду Удалить группу ресурсов.
- Подтвердите операцию удаления группы ресурсов. Введите имя группы ресурсов, которую необходимо удалить, и нажмите Удалить.
Через некоторое время группа ресурсов и все ее ресурсы будут удалены.
Следующие шаги
В этом кратком руководстве описано, как создать хранилище конфигураций приложений и использовать его с приложением Java Spring. Дополнительные сведения см. в статье Spring в Azure. Если возникнут дополнительные вопросы, см. справочную документацию, в ней подробно описан принцип работы библиотеки Spring Cloud для Конфигурации приложений Azure. Чтобы узнать, как включить в приложении Java Spring динамическое обновление параметров конфигурации, перейдите к следующему руководству.