java—从应用程序上下文中的.properties文件访问Map属性(spring)

5t7ly7z5  于 2021-07-09  发布在  Java
关注(0)|答案(2)|浏览(327)

在我的.properties文件中,我有如下内容:

map = key1=value1, key2=value2

如何使用占位符访问applicationcontext.xml中的键值对?我知道,如果属性只是一个字符串,那么它就是:

<bean id="string_prop" class="java.lang.String">
    <constructor-arg value="${string.prop}"/>
</bean>

我也看到过:

<util:map id="map_prop" key-type="java.lang.String" value-type="java.lang.String">
    <entry key="key" value="value"></entry>
</util:map>

但是我不知道如何从.properties文件访问键值对。

qxgroojn

qxgroojn1#

如果您想用java代码访问Map,请使用下面的方法,
在applicationcontext.xml中

<bean id="mapName" class="java.util.HashMap">
        <constructor-arg ref="property" /> 
</bean>

<util:properties id="property" location="properName.properties"/>

在java中:

@Autowired
    protected HashMap<String, String> mapName;
wrrgggsh

wrrgggsh2#

如果你想从applicationcontext本身使用如下方法,
在applicationcontext.xml中

<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
        <property name="location" value="propertyName.properties"/>
        <property name="ignoreUnresolvablePlaceholders" value="true"/>
</bean>

<bean id="string_prop" class="java.lang.String">
    <constructor-arg value="${string.prop}"/>
</bean>

在属性文件中:

string.prop=some name

相关问题