Как установить свойства Spring в конфигурации запуска в Intellij - PullRequest
0 голосов
/ 05 июля 2018

У меня есть следующий код ...

@Service
public class PropertiesService {
    ...
    @Value("external.config.active") private String useExternalConfig

Таким образом, в intellij я установил параметры VM на ...

-Dexternal.config.active=true

Но когда я отлаживаю в приложении this.useExternalConfig.equals("external.config.active") это правда.

Что мне нужно сделать, чтобы установить свойство Spring в конфигурации выполнения для IJ

Обновление Я вижу, что оно предоставляется командой java ...

/ ... / java -agentlib: jdwp = transport = dt_socket, адрес = 127.0.0.1: 53192, suspend = y, сервер = n -Dexternal.config.active = true -javaagent: /.../Caches/IdeaIC2018.1/groovyHotSwap/gragent.jar -javaagent: /… /T/capture2.props -Dfile.encoding = UTF-8 -classpath

Ответы [ 2 ]

0 голосов
/ 05 июля 2018

@Value принимает выражение значения ${...} или выражение SpEL #{...}, поскольку вы не предоставили ни одного из этих значений, как будет использоваться значение как есть. Чтобы заменить свойство, вы можете использовать выражение значения ${name.of.property}.

Или, если вам действительно нравится хардкор, вы можете использовать SpEL #{@environment.getProperty('name.of.property')}. Вы видите, выражение значения проще.

0 голосов
/ 05 июля 2018

Это похоже на работу ...

@Value("${external.config.active}")

на основе ...

The actual value expression: e.g. "#{systemProperties.myProp}".

Это странно, поэтому, если кто-то сможет объяснить это дальше, он получит чек.

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