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