Масштабирование интерфейса приложения до более низкого разрешения JavaFX

Использование внешних файлов свойств

Ответ лежит на весенних загрузочных документах, я попытаюсь сломать их для вас.

Прежде всего, нет, вы не должны использовать @PropertySource при работе с конфигурацией Ямля, как упоминается здесь в недостатках Ямла :

Файлы YAML не могут быть загружены через аннотацию @PropertySource. Таким образом, в случае, когда вам нужно загрузить значения таким образом, вам нужно использовать файл свойств.

blockquote>

Итак, как загружать нужные файлы? Это объясняется здесь Файлы свойств приложения

Один загружен для вас: application.yml, поместите его в одну из каталогов, как указано в ссылке выше. Это отлично подходит для вашей общей конфигурации.

Теперь для вашей конкретной конфигурации (и таких как пароли) вы хотите использовать внешние файлы свойств, как это сделать, также объясняется в этом разделе:

Если вам не нравится application.properties в качестве имени файла конфигурации, вы можете переключиться на другой, указав свойство среды spring.config.name. Вы также можете обратиться к явному местоположению, используя свойство среды spring.config.location (список разделов, разделенных запятыми, или пути к файлам).

blockquote>

Таким образом, вы используете среду spring.config.location имущество. Представьте, что у вас есть внешний файл конфигурации: application-external.yml в conf / dir в вашем домашнем каталоге, просто добавьте его следующим образом: -Dspring.config.location=file:${home}/conf/application-external.yml в качестве параметра запуска вашей JVM. Если у вас несколько файлов, просто разделите их запятой. Обратите внимание, что вы можете легко использовать внешние свойства, подобные этому, чтобы перезаписать свойства, а не просто добавлять их.

Я бы посоветовал проверить это, заставив ваше приложение работать только с вашим внутренним файлом application.yml, а затем перезаписать свойство (test) в вашем файле внешних свойств и зарегистрировать его значение где-нибудь.

Привязать свойства Ямля к объектам

При работе с свойствами Ямла я обычно загружаю их с помощью @ConfigurationProperties , что отлично подходит для работы с примерами списков или более сложной структурой свойств. (Вот почему вы должны использовать свойства Yaml, для простых свойств вы, возможно, лучше используете обычные файлы свойств). Прочтите это для получения дополнительной информации: Свойства конфигурации типа Safe

Дополнительно: загрузка этих свойств в тесте IntelliJ, Maven и JUnit

Иногда вы хотите загрузить эти свойства в ваших сборках maven или при выполнении тестов. Или просто для локального развития с вашей IDE

Если вы используете IntelliJ для разработки, вы можете легко добавить это, добавив его в свою конфигурацию Run Tomcat: «Запустить» -> «Изменить конфигурации», выберите конфигурацию запуска в «Сервер Tomcat», проверьте вкладку «Сервер» и добавьте ее в «Параметры VM».

Чтобы использовать внешние файлы конфигурации в своей сборке Maven: настройте плагин maven surefire, как это, в вашем pom.xml:


  org.apache.maven.plugins
  maven-surefire-plugin
  
     -Dspring.config.location=file:${home}/conf/application-external.yml
   
    

При запуске тестов JUnit в IntelliJ:

  • Run → Edit Configurations
  • По умолчанию → JUnit
  • добавить параметры VM -> -ea -Dspring.config.location=file:${home}/conf/application-external.yml

0
задан Mateusz Nikt 22 March 2019 в 16:15
поделиться