使用$ {my value}的Spring.NET PropertyPlaceholderConfigurer

时间:2013-03-15 17:02:32

标签: configuration spring.net

我的Spring.NET配置使用以下类型语法并且正常工作。

<object id="JohnUsingVariableSource"
    type="XmlConfig.StringInjection.Person, XmlConfig">
  <property name="Name" value="${JohnsFullName}" />
</object>  

$ {JohnsFullName}占位符的值在app.config文件中配置。我的要求已经改变,我知道需要在启动时从数据库中获取名称。如何覆盖app.config文件中的值?我可以在不打开app.config的情况下在代码中执行此操作(如App.Config change value所示),spring.NET是否有办法执行此操作?

1 个答案:

答案 0 :(得分:2)

是的,您可以在不修改app.config文件的情况下执行此操作。只需实现自定义IVariableSource

public interface IVariableSource
{
  string ResolveVariable(string name);
}

在您从数据库中读取的ResolveVariable方法。

如果我没记错的话,配置中配置的第一个变量源将是spring配置使用的变量源。