我了解到我可以为 Spring 提供一个<context:property-placeholder>
元素,该元素似乎使用PropertyPlaceholderConfigurer${foo}
针对属性文件插入变量(即替换标记,如)。
有没有办法自定义用于解析令牌的类?特别是,我很想使用Apache Commons Config Configuration
对象来提供令牌的值,而不是使用属性文件。
我了解到我可以为 Spring 提供一个<context:property-placeholder>
元素,该元素似乎使用PropertyPlaceholderConfigurer${foo}
针对属性文件插入变量(即替换标记,如)。
有没有办法自定义用于解析令牌的类?特别是,我很想使用Apache Commons Config Configuration
对象来提供令牌的值,而不是使用属性文件。
是的,子类PropertyPlaceholderConfigurer
化并覆盖该loadProperties
方法。此方法传递一个Properties
对象,您可以根据需要填充值。或者,您可以定义一个替代实现PropertiesPersister
并将其插入普通的PropertyPlaceholderConfigurer
.
在 Spring 3.1 中,您可以通过创建自己的PropertySource
实现并将其注册到应用程序上下文(通常使用ApplicationContextInitializer
. 这篇博客文章很好地概述了该过程。 <context:property-placeholder>
在 Spring 3.1 中,将从注册PropertySources
的以及您指定的任何属性文件中提取值。