我的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是否有办法执行此操作?
答案 0 :(得分:2)
是的,您可以在不修改app.config文件的情况下执行此操作。只需实现自定义IVariableSource
:
public interface IVariableSource
{
string ResolveVariable(string name);
}
在您从数据库中读取的ResolveVariable
方法。
如果我没记错的话,配置中配置的第一个变量源将是spring配置使用的变量源。