3

我了解到我可以为 Spring 提供一个<context:property-placeholder>元素,该元素似乎使用PropertyPlaceholderConfigurer${foo}针对属性文件插入变量(即替换标记,如)。

有没有办法自定义用于解析令牌的类?特别是,我很想使用Apache Commons Config Configuration对象来提供令牌的值,而不是使用属性文件。

4

1 回答 1

1

是的,子类PropertyPlaceholderConfigurer化并覆盖该loadProperties方法。此方法传递一个Properties对象,您可以根据需要填充值。或者,您可以定义一个替代实现PropertiesPersister并将其插入普通的PropertyPlaceholderConfigurer.

在 Spring 3.1 中,您可以通过创建自己的PropertySource实现并将其注册到应用程序上下文(通常使用ApplicationContextInitializer. 这篇博客文章很好地概述了该过程。 <context:property-placeholder>在 Spring 3.1 中,将从注册PropertySources的以及您指定的任何属性文件中提取值。

于 2012-08-16T11:00:04.997 回答