Оборачивая значение application.name значением '@', что это значит? - PullRequest
0 голосов
/ 11 февраля 2020

Что означает добавление '@' к значению имени application.properties в начале и в конце?

Я не смог найти что-то вроде this . Я также проверил документы Spring, но не смог найти. Является ли это использование универсальным c для программирования или спецификацией c для application.properties Spring?

Ответы [ 2 ]

1 голос
/ 11 февраля 2020

Пожалуйста go в документации

Вместо того, чтобы жестко задавать некоторые свойства, которые также указаны в конфигурации сборки вашего проекта, вы можете автоматически расширять их, вместо этого используя существующие Конфигурация сборки. Это возможно как в Maven, так и в Gradle.

Упомянутый вами формат предназначен для Maven

Вы можете автоматически расширять свойства из проекта Maven с помощью фильтрации ресурсов. Если вы используете spring-boot-starter-parent, вы можете ссылаться на «свойства проекта» вашего Maven с помощью @ .. @ placeholder

Update

С Spring Boot Actuator добавлена ​​зависимость к pom. xml

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>

и

info конечная точка выставлена ​​ (для http: management.endpoints.web.exposure.include=info)

можно сделать быструю проверку этого.

Добавьте следующее свойство в pom. xml

<properties>
    <app.info.test>Test Value</app.info.test>
</properties>

и следующие записи в приложении Файл .properties

info.app.name= Test App
info.app.java.source=1.8
info.app.test=@app.info.test@

Удар http://localhost: 8080 / привод / информация даст следующий ответ

{"app":{"name":"Test App","java":{"source":"1.8"},"test":"Test Value"}}
0 голосов
/ 11 февраля 2020

Прямой прямой ответ - это значение, которое вы сохраняете с @ name @ в application.properties, которые инициализируются при запуске сборки вашего проекта (на основе того же имени параметра, которое вы передаете с помощью команды).

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

или значение, которое отличается в зависимости от среды. Если вы этого не сделаете, это значение станет фиксированным.

когда вы хотите передать какой-либо параметр, который постоянно или периодически используется в вашем приложении, например, почтовая конфигурация или AWS конфигурация, версия или т. д. c. что вещи определяют в файле application.properties.

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