我已经在需要配置的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>

最佳答案

java.util.Properties 对象已经是Map,实际上是HashTable,而Map又实现了users.properties

因此,当您创建一个属性文件(将其命名为PropertiesFactoryBean)时,您应该能够使用<util:properties />Map<String, String>加载该文件并将其注入(inject)您的类中。

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>

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

关于spring - 如何通过带有application.properties的Map <String,String>,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26275736/

10-12 00:38
查看更多