Есть ли какой-либо синтаксис, например: # {systemProperties ['environment_variable_name']}, чтобы получить системную переменную?
Использует ли # {systemProperties ['environment']} в файле applicationcontext.xml Spring значение, связанное с окружающей средой?
Или можно ли указать значение системной переменной в файле Spring applicationcontext.xml.
Ответ 1
Когда я правильно помню, есть разница между:
Вы можете получить доступ к свойствам системы по-разному:
#{systemProperties['databaseName']}
#{systemProperties.databaseName}
${databaseName}//$вместо #!!
<ы > С #{systemProperties['databaseName']} у вас есть доступ к свойствам системной системы.
С #{systemProperties.databaseName} у вас есть доступ к свойствам системы, которые, например, читаются из командной строки (-DdatabaseName="testDB").
С >
С ${databaseName} у вас есть доступ к свойствам из загруженных файлов свойств и предоставлен, например, PropertyPlaceholderConfigurer и к системе prooperties too
Вы можете использовать их все в аннотации @Value или в файлах config.xml(<property name="databaseName" value="#{systemProperties.databaseName}"/>)
Ответ 2
Один из способов сделать это - использовать PropertyPlaceholderConfigurer, который можно настроить для использования свойств системы.
Я также заметил, что запись Spring 3.1 M1 рассказывает о новых материалах для доступа к информации о конфигурации из "среды". Конечно, это только веха... не выпуск готовой продукции.