Как получить значение из системного свойства при весенней загрузке - PullRequest
0 голосов
/ 21 декабря 2018

Я использую следующую команду для запуска моего приложения весенней загрузки

java -Dlibrary.system.property=value -jar myapp.jar

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

System.getProperty("library.system.property")

Однако мне нужен доступэто через любую аннотацию в Spring что-то вроде

@value(${library.system.property})

Я пытался использовать

    @Value("${library.system.property")
    private String property;

    @Bean
    public SampleProvider getSampleProvider () {
        return SampleProvider.from(property);
    }

Но значение свойства null.Нужно ли использовать условный боб или что-то еще?

Ответы [ 3 ]

0 голосов
/ 21 декабря 2018

Вы можете получить доступ к системным свойствам, используя следующее выражение

@Value("#{systemProperties['library.system.property']}")
private String property

Вы также можете получить доступ к системной среде, используя следующее выражение

@Value("#{systemEnvironment['SOME_ENV_VARIABLE']})
private String property

Наконец, если вы используете Spring BootВы ссылаетесь на имя свойства напрямую, если вы передаете его в командной строке.Например, если вы запускаете JAR как java -jar boot.jar --some.proeprty=value, вы можете прочитать его как:

@Value("some.property")
private String property
0 голосов
/ 24 декабря 2018

Вы можете получить доступ к своим данным из файла свойств, используя @ Value на вашем контроллере.Например: @Value ("$ {library.system.property}") частное свойство String;

Теперь ваше значение в свойстве, теперь вы можете использовать его где угодно.

0 голосов
/ 21 декабря 2018

Спасибо всем.Проблема решена путем изменения способа передачи аргумента через командную строку, как показано ниже:

java -jar myapp.jar --library.system.property=value

Доступ к значению с помощью приведенного ниже фрагмента кода

@Value("${library.system.property}")
private String property;

@Bean
public SampleProvider getSampleProvider () {
    return SampleProvider.from(property);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...