1

我的 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更改值),spring.NET 是否有办法做到这一点?

4

1 回答 1

2

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

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

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

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

于 2013-03-16T12:35:50.243 回答