使用表达式语言在Spring XML配置应用程序中读取系统属性

时间:2017-10-22 18:13:28

标签: java spring xml-configuration

这似乎很容易,但它不起作用。 我不能在我的简单示例中粘贴系统属性:

<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
        <property name="locations">
            <list>
                <value>classpath:client.properties</value>
            </list>
        </property>
        <property name="searchSystemEnvironment" value="true"/>
        <property name="ignoreResourceNotFound" value="true"/>
        <property name="systemPropertiesModeName" value="SYSTEM_PROPERTIES_MODE_OVERRIDE"/>
    </bean>

    <bean id="client" class="com.epam.spring.Client"
          c:id="${id}"
          p:fullName="#{systemEnvironment['user.name']}"
          p:greeting="${greeting}"
    />

Bean Client没问题,但字段fullName始终为null。 在每种情况下,我都有fullName NULL,请帮助我,问题是什么? 我试图使用其他systemEnvironment [&#39; something.else&#39;],但它没有帮助。 尝试这样: p:fullName="#{ T(java.lang.System).getenv().get('java.version') }" 但是,我不想工作。

1 个答案:

答案 0 :(得分:3)

我找到了解决方案!问题在这一行: p:fullName="#{systemEnvironment['user.name']}"

只需写下

p:fullName="#{systemProperties['user.name']}

一切都好)))

我认为重要的是操作系统:windows 10