Вывод значений изнутри в application.properties (например, server.port, spring.datasource.url и т. Д.) - PullRequest
0 голосов
/ 20 сентября 2019
server.port = ?
spring.datasource.url = ?
spring.datasource.username = ?
spring.datasource.password = ?

Я хочу вывести все "?"значения вне приложенияработает для application.properties.

Решено, просто поместите файл свойств в тот же путь, где находится файл jar, тогда весенняя загрузка заменит вам значения.

1 Ответ

0 голосов
/ 20 сентября 2019

Внешняя конфигурация Spring.io

Spring Boot uses a very particular PropertySource order that is designed to allow sensible overriding of values. Properties are considered in the following order:

Devtools global settings properties on your home directory (~/.spring-boot-devtools.properties when devtools is active).
@TestPropertySource annotations on your tests.
properties attribute on your tests. Available on @SpringBootTest and the test annotations for testing a particular slice of your application.
Command line arguments.
Properties from SPRING_APPLICATION_JSON (inline JSON embedded in an environment variable or system property).
ServletConfig init parameters.
ServletContext init parameters.
JNDI attributes from java:comp/env.
Java System properties (System.getProperties()).
OS environment variables.
A RandomValuePropertySource that has properties only in random.*.
Profile-specific application properties outside of your packaged jar (application-{profile}.properties and YAML variants).
Profile-specific application properties packaged inside your jar (application-{profile}.properties and YAML variants).
Application properties outside of your packaged jar (application.properties and YAML variants).
Application properties packaged inside your jar (application.properties and YAML variants).

Это означает, что то, что вы хотите сделать, поддерживается без необходимости делать что-то причудливое в вашем файле application.properties.

Spring Boot рассмотрит файл application.properties за пределами вашего фляги и рассмотрит все содержащиеся в нем значения и использует их вместо любых значений в файле application.properties внутри вашего фляги.

Итак, где бы ни был ваш фляга, поместите файл application.properties, который вы хотите для этой среды.См. Ссылку для получения дополнительной информации о том, насколько вы можете настроить это (профили, YAML, системные свойства, переменные среды и т. Д.)

Вы также можете рассмотреть возможность перехода к реализации Spring Cloud Config, но это немногобольше работы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...