是否有任何语法:#{systemProperties ['environment_variable_name']}来获取系统变量?

Rit*_*esh 12 java spring spring-mvc java-ee system-variable

在Spring的applicationcontext.xml文件中使用#{systemProperties ['environment']}是否返回与环境相关的值?

或者有没有办法在spring applicationcontext.xml文件中获取系统变量值.

Ral*_*lph 27

当我记得正确时,那么之间存在差异:

您可以通过不同方式访问系统属性:

  • #{systemProperties['databaseName']}
  • #{systemProperties.databaseName}
  • ${databaseName} // $而不是#!!

随着#{systemProperties['databaseName']} 您可以访问系统中的系统性能.

#{systemProperties.databaseName}可以访问(从命令行readed例如系统属性-DdatabaseName="testDB").

随着${databaseName}你从属性访问属性文件加载并PropertyPlaceholderConfigurer例如设置和系统prooperties太

@Value("#{systemProperties['java.version']}")
private String javaVersionMap;

//Dont know how
//@Value("#{systemProperties.javav.version}")
//private String javaVersionDirect;

@Value("${java.version}")
private String javaVersionProp;
Run Code Online (Sandbox Code Playgroud)
//-DcmdParam=helloWorld
@Value("#{systemProperties['cmdParam']}")
private String cmdParamMap;

@Value("#{systemProperties.cmdParam}")
private String cmdParamDirect;

@Value("${cmdParam}")
private String cmdParamProp
Run Code Online (Sandbox Code Playgroud)

您可以在@Value注释或config.xml文件中使用所有这些文件(<property name="databaseName" value="#{systemProperties.databaseName}"/>)