是否有任何语法:#{systemProperties ['environment_variable_name']}以获取系统变量?
问题内容:
在Spring的applicationcontext.xml文件中使用#{systemProperties
[‘environment’]}是否返回与环境关联的值?
或者有什么方法可以在spring applicationcontext.xml文件中生成系统变量值。
问题答案:
当我没记错的时候,两者之间是有区别的:
您可以通过不同的方式访问系统属性:
#{systemProperties['databaseName']}
#{systemProperties.databaseName}
${databaseName}
// $而不是#!!
随着#{systemProperties['databaseName']}
您可以访问系统中的系统性能。
与#{systemProperties.databaseName}
可以访问readed例如从命令行(系统属性-DdatabaseName="testDB"
)。
有了它们,${databaseName}
您就可以访问例如由PropertyPlaceholderConfigurer加载和提供的属性文件中的属性,也可以访问
系统属性
@Value("#{systemProperties['java.version']}")
private String javaVersionMap;
//Dont know how
//@Value("#{systemProperties.javav.version}")
//private String javaVersionDirect;
@Value("${java.version}")
private String javaVersionProp;
//-DcmdParam=helloWorld
@Value("#{systemProperties['cmdParam']}")
private String cmdParamMap;
@Value("#{systemProperties.cmdParam}")
private String cmdParamDirect;
@Value("${cmdParam}")
private String cmdParamProp
您可以在@Value
批注或config.xml文件(<property name="databaseName" value="#{systemProperties.databaseName}"/>
)中使用所有它们。