2012-01-31 3 views
3

저는 스프링 프레임 워크를 처음 접했습니다. 누군가 제가 아래의 스프링 구성을 이해하도록 도와 주시겠습니까?스프링 프레임 워크의 기초

<?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> 

설정합니까 : 구성 파일을 의미? ref는 C#의 클래스를 의미합니까?

+1

[Spring.NET 참조 문서]의 [섹션 5] (http://www.springframework.net/doc-latest/reference/html/objects.html) (http://www.springframework.net/ doc-latest/reference/html/index.html)은 설정에서 볼 수있는 내용을 공정하게 설명합니다. –

+1

Spring.NET을 처음 사용하신다면 더 빠르고 현대적인 프레임 워크로 전환하십시오. http://www.palmmedia.de/Blog/2011/8/30/ioc-container-benchmark-performance-comparison에서 벤치 마크 테스트를 확인하십시오. StructureMap, Unity 또는 Windsor를 살펴볼 것을 제안합니다.이 중 모두 Spring.NET for XML과 대비되는 코드 구성에서 지원됩니다. –

+0

안녕하세요 Travis J, 고맙습니다.하지만 수정중인 응용 프로그램은 이미 Spring.NET을 사용하여 작성되었습니다. 나는 위의 설정을 이해하는 것 외에 다른 선택권이 없다. –

답변

2

<resource uri="config://spring/objects" />은 스프링 용기가 application configuration file (app.config or web.config)에서 구성 섹션을 읽어야 함을 의미합니다.

<object ...은 객체 정의입니다. 이것은 컨테이너에있는 객체를 정의합니다. 객체는 의존성을 가질 수 있습니다. 귀하의 경우, Test.aspx 페이지의 속성은 AServiceBService입니다. 컨테이너는 이러한 속성을 컨테이너의 다른 곳에서 정의 된 객체로 설정합니다.

조금 여기에 혼동 될 수있는 것은 <property name="AService" ref="AService" />에서 ="AService"의 이중 사용 무엇

:

  • name=이 : 클래스 Test에 속성의 이름을 참조, public IMyService AService { get; set; }
  • 으로 정의 속성이있다 ref= : 컨테이너에 정의 된 다른 객체를 가리키며 구성에 어딘가에 <object id="AService" type="MyNamespace.MyClass, MyAssembly" />과 같은 객체 정의가 있습니다.

스프링 문서의 "Instantiating the container" 섹션은 이것을 더 잘 설명합니다.