Никак. Неизбежно программное обеспечение, нужны какие-то настройки. Есть учетные данные для доступа к базе данных, в адрес некоторых внешних услуг, правил журнала, etc…
В сегодняшнем посте мы посмотрим, как мы можем настроить наше приложение с помощью Quarkus и еще несколько вещей, а также юридические об этом.
Мы будем создавать microsserviço, который отвечает на запросы GET на конечной точкой называется /config все настройки сохраняются. Также давайте посмотрим, что источники установки, понять приоритеты и конфигурации, как Quarkus обрабатывает параметры среды, производства и испытания.
Во-первых, мы рассмотрим создание проекта Quarkus. Для этого достаточно использовать следующую команду.
mvn io.quarkus:quarkus-maven-plugin:1.6.0.Final:create \ -DprojectGroupId=config \ -DprojectArtifactId=config \ -Dextensions="resteasy-jackson" \ -DclassName="config.ConfigResource" \ -Dpath="/config"
Эта команда уже создает приложения Quarkus файл с именем ConfigResource . Теперь просто добавим следующий код в этот файл.
package config; import javax.ws.rs.GET; import javax.ws.rs.Path; import javax.ws.rs.Produces; import javax.ws.rs.core.MediaType; import org.eclipse.microprofile.config.inject.ConfigProperty; import java.util.Map; import java.util.HashMap; @Path("/config") public class ConfigResource { @ConfigProperty(name="config") // 1 String config; @ConfigProperty(name="valorDefinido", defaultValue="Uma configuração") // 2 String valorDefinido; @ConfigProperty(name="inteiro") // 3 Integer intConfig; @ConfigProperty(name="C*O~M_caracteres-especiais!á") // 4 String caracteresEspeciais; @GET @Produces(MediaType.APPLICATION_JSON) public MapgetConfigs() { // 5 Map configs = new HashMap<>(); configs.put("Configuração: ", config); configs.put("Valor definido: ", valorDefinido); configs.put("Configuração inteira: ", intConfig); configs.put("Caracteres especiais: ", caracteresEspeciais); return configs; } }
Ресурсы Dentro do diretório/МЕТАИНФОРМАЦИЯ, существующая в arquivo chamado application.properties . Также необходимо изменить файл, чтобы оставаться таким образом:
config=Configuração simples C*O~M_caracteres-especiais!á=Usando caracteres especiais inteiro=2
Теперь давайте посмотрим, что каждая строка делает
Аннотации @ConfigProperty делает Quarkus знать, что переменная будет получать некоторые настройки. Имя параметра задается значение атрибута name .
В случае, если сервер не имеет значение из конфигурации, то услуга не будет ошибкой во времени, чтобы подняться. Однако, некоторые параметры могут иметь значения по умолчанию, это значение по умолчанию задается с помощью атрибута defaultValue .
Одна из самых крутых вещей, придать конфигурацию, что она уже преобразуется в тип данных, который мы хотим.
Названия параметров могут содержать точку (.), дефис (-), underscore (_) и другие специальные символы.
Это метод, который возвращает все параметры используются.
Уже почти все готово, чтобы мы могли запускать приложение. Во-первых, мы будем удалять тесты созданы.
Теперь достаточно запустить эту программу с помощью команды:
mvn quarkus:dev
И получить доступ к url http://localhost:8080/config чтобы увидеть параметры. Если все получилось, появится изображение, похожее на это ниже:
Nfs vi – dentro da anotaçao @ConfigProperty, nfs colocamos – это путь к доблести, предназначенный для конфигурирования в отношении алгуна лугара (без каких-либо примеров, например, для использования в аркиво приложение.свойства ). Но где же это место, что значение параметра берется?
Это место может быть свойства системы, переменные среды, специальный файл под названием .env , o arquivo de/| применение.свойства или любой другой источник, который разработчик внесенные вручную .
Имена переменных среды, quarkus по тем же правилам, microprofile .
Если же раздел конфигурации присутствует в различных источниках конфигурации системы необходимо выбрать один из них.
Он делает это, следуя следующем порядке:
- Свойства системы
- Переменные среды
- Архив .env
- O приложение arquivo.свойства
- Значение по умолчанию размещены в аннотации @ConfigProperty
Если файл не находится ни в источник установки, приложение не будет расти и даст ошибку
javax.enterprise.inject.spi.DeploymentException: No config value of type [] exists for: at io.quarkus.arc.runtime.ConfigRecorder.validateConfigProperties(ConfigRecorder.java:37)
С Quarkus становится очень легко поменять параметры в различных ситуациях. Это делается с помощью инструмента, а также юридические вызова Профиль конфигурации .
В зависимости от профиля, который используется, настройки, используемые, отличаются. Это позволяет поместить в тот же файл свойств различных параметров.
По умолчанию Quarkus работает с 3 различных профилей: производство (prod), разработки (dev) и тестирования (test). Профиль развития включается, когда sumus команду mvn quarkus:dev, и тестирования активируется, когда мы выполняем тесты.
Para exemplificar iso, ainda com o servidor de pé vamos adicionar uma nova linha na no nosso применение.свойства . Свойства для работы с профилем развития. Наш файл должен выглядеть так:
config=Configuração simples C*O~M_caracteres-especiais!á=Usando caracteres especiais inteiro=2 #Nova propriedade colocada abaixo %dev.inteiro=10
После сохранения изменений, и к нашей URL-адреса, мы получим следующий результат.
Как мы используем profixo “%dev”, то это новое значение является допустимым только во время отладки. Если приложение не находился в режиме отладки, то значение параметра будет использоваться другой (в данном случае 2).
Я влюблен в эту часть конфигурации в Quarkus. Что я больше всего мне нравится, что это так до смешного легко изменить собственности в производственной среде (через переменные среды).
Эта запись в конечном итоге получить больше, чем я хотел. Даже так, мне пришлось оставить за несколько контент довольно интересные. Для тех, кто имеет некоторый уровень владения английским языком, рекомендую хороший лида в официальные документы .
Да, и код, сегодня можно найти нет github .
Оригинал: “https://dev.to/lucasscharf/configurando-sua-aplicacao-java-com-quarkus-configproperty-2h2c”