在Spring的applicationcontext.xml文件中使用#{systemProperties['environment']}是否返回与环境关联的值?
或者有什么办法可以在spring applicationcontext.xml文件中获取系统变量值。
最佳答案
当我没记错的时候,有区别:
您可以通过不同的方式访问系统属性:
-
#{systemProperties['databaseName']}
-
#{systemProperties.databaseName}
-
${databaseName}
//$而不是#!!
与 #{systemProperties['databaseName']}
您可以访问系统系统属性。
与#{systemProperties.databaseName}
您可以访问例如从命令行 (-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}"/>
)
关于java - 有没有像 : #{systemProperties ['environment_variable_name' ]} to get the system variable? 这样的语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6285978/