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

Read system properties in Spring XML config application with expression language

看似容易,实则行不通。 我无法在我的简单示例中粘贴系统 属性:

<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,请帮助我,这是怎么回事? 我尝试使用其他 systemEnvironment['something.else'],但它没有帮助。 像这样尝试: p:fullName="#{ T(java.lang.System).getenv().get('java.version') }" 但是id不想工作

我找到了解决办法!此行中的问题: p:fullName="#{systemEnvironment['user.name']}"

随便写

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

一切正常 )))

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