是否有类似以下语法:#{systemProperties['environment_variable_name']} 来获取系统变量?

发布于 2024-11-14 17:08:34 字数 149 浏览 3 评论 0原文

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

或者有什么方法可以获取 spring applicationcontext.xml 文件中的系统变量值。

Does using #{systemProperties['environment']} in the applicationcontext.xml file of Spring return the value associated with environment?

Or is there any way to ge the system variable value in the spring applicationcontext.xml file.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

三生池水覆流年 2024-11-21 17:08:34

如果我没记错的话,那么两者之间有区别:

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

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


使用 #{systemProperties['databaseName']} 您可以访问 system-system-properties。

使用 #{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 文件中()

When I remember right, then there is a difference between:

You can access the system properties in different ways:

  • #{systemProperties['databaseName']}
  • #{systemProperties.databaseName}
  • ${databaseName} //$ instead of # !!


With #{systemProperties['databaseName']} you have access to system-system-properties.

With #{systemProperties.databaseName} you have access to the system properties readed for example from the command line (-DdatabaseName="testDB").

With ${databaseName} you have access the the properties from the properties files loaded and provided for example by the PropertyPlaceholderConfigurer and to the system prooperties too

@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

You can use all of them in a @Value annotation or the config.xml files (<property name="databaseName" value="#{systemProperties.databaseName}"/>)

哀由 2024-11-21 17:08:34

执行此类操作的一种方法是使用 PropertyPlaceholderConfigurer,可以将其配置为使用系统属性。

我还注意到 Spring 3.1 M1 博客条目 谈论从“环境”访问配置信息的新内容。当然,这只是一个里程碑......而不是生产就绪版本。

One way to do this kind of thing is to use a PropertyPlaceholderConfigurer which can be configured to use the system properties.

I also noticed that the Spring 3.1 M1 blog entry talks about new stuff for accessing configuration information from "the environment". Of course, that is only a milestone ... not a production-ready release.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文