2012-01-31 81 views
3

我是很新的Spring框架。有人能帮我理解下面的弹簧配置吗?Spring框架基本

<?xml version="1.0"?> 
<configuration> 
    <spring> 
    <context> 
     <resource uri="config://spring/objects" /> 
    </context> 
    <objects xmlns="http://www.springframework.net"> 

     <object type="Test.aspx"> 
     <property name="AService" ref="AService" /> 
     <property name="BService" ref="BService" /> 
     </object> 
    </objects> 
    </spring> 
</configuration> 

基本上在我的脑海的问题是: 是什么行表示:

<resource uri="config://spring/objects" /> 

这:

<object type="Test.aspx"> 
      <property name="AService" ref="AService" /> 
      <property name="BService" ref="BService" /> 
      </object> 

是否配置:是指配置文件? 参考是否意味着C#中的类?

+1

[第5](http://www.springframework.net/doc-latest/reference/html/objects.html)中的[Spring.NET参考文档]的(http://www.springframework.net/ doc-latest/reference/html/index.html)能够很好地解释你在配置中看到的内容。 – 2012-01-31 22:05:05

+1

如果您是Spring.NET的新手,也许您应该切换到更快,更现代化的框架。在http://www.palmmedia.de/Blog/2011/8/30/ioc-container-benchmark-performance-comparison上查看一些基准测试。我会建议看看StructureMap,Unity或Windsor--所有这些都支持代码配置,而不是Spring.NET强制XML。 – 2012-01-31 22:15:25

+0

嗨特拉维斯J,谢谢,但我修改的应用程序已经使用Spring.NET编写。除了理解上面的配置之外,我别无选择。 – 2012-02-01 03:40:46

回答

2

<resource uri="config://spring/objects" />意味着弹簧容器应改为从application configuration file (app.config or web.config)的结构部分。

<object ...是一个对象的定义;这在你的容器中定义了一个对象。一个对象可以有依赖关系。在你的情况下,Test.aspx页面有一个名为AServiceBService性能。容器将这些属性设置为在容器中其他位置定义的对象。

什么可能会有点混乱这里是="AService"<property name="AService" ref="AService" />双重用途:

  • name=:指的是你的Test类属性的名称,有一个定义为public IMyService AService { get; set; }
  • 属性ref=:引用您的容器中定义的另一个对象,在您的配置中有一个对象定义,如<object id="AService" type="MyNamespace.MyClass, MyAssembly" />

春季文档的"Instantiating the container"部分做了很好的解释。