2012-01-31 117 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"部分做了很好的解釋。