小编典典

如何通过地图 与application.properties

spring-boot

我已经在需要配置的Web服务中实现了一些授权。

当前,用户/密码组合已硬编码到Bean配置中。我想将带有用户名和密码的映射配置到application.properties中,以便可以在外部进行配置。

关于如何做到这一点的任何线索?

<bean id="BasicAuthorizationInterceptor" class="com.test.BasicAuthAuthorizationInterceptor">
    <property name="users">
        <map>
            <entry key="test1" value="test1"/>
            <entry key="test2" value="test2"/>
        </map>
    </property>
</bean>

阅读 435

收藏
2020-05-30

共1个答案

小编典典

一个java.util.Properties对象已经是一个对象Map,实际上是一个对象,该对象HashTable又实现了Map

因此,在创建属性文件(将其命名为users.properties)时,您应该可以使用PropertiesFactoryBean或加载它<util:properties />并将其注入到类中。

test1=test1
test2=test2

然后做类似的事情

<util:properties location="classpath:users.properties" id="users" />

<bean id="BasicAuthorizationInterceptor" class="com.test.BasicAuthAuthorizationInterceptor">
    <property name="users" ref="users" />
</bean>

虽然如果您将a Map<String, String>作为users属性的类型可能会失败…我不会将它们放在application.properties文件中。但这可能只是我。

2020-05-30