当我没记错的时候,两者之间是有区别的:
您可以通过不同的方式访问系统属性:
#{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}"/>)中使用所有它们。

![是否有任何语法:#{systemProperties ['environment_variable_name']}以获取系统变量? 是否有任何语法:#{systemProperties ['environment_variable_name']}以获取系统变量?](http://www.mshxw.com/aiimages/31/615748.png)
