2009-05-11 11 views
1

저는 spring.net에서 처음입니다. 객체 목록을 만들려고합니다. ....SPRING.Net을 사용하여 새 개체 만들기

  • IObj OBJ = (IObj) ContextRegistry.GetContext() GetObject를 ("OBJ")

  • 변화 객체 속성 :. 목록은 호출 루프가 초기화

  • 목록에 추가 ...

문제는 다음과 나는 같은 객체를 루프 그래서 모든 단계를 점점 계속

답변

3

오브젝트 정의가 싱글 톤이 아닌 경우 매번 새로운 오브젝트를 얻습니다. 기본적으로 singleton은 true로 설정되어 있으므로 명시 적으로 false로 설정해야합니다.

<object name="name" type="..." singleton="false"/> 
2

당신이 이상 반복에 의해 달성하기 위해 무엇을하려고하는 분명하지 않다 "GetObject를 ("당신이 당신의 개체를 구성하는 XML 파일을 사용하는 경우

예를 들어, false로 싱글 속성을 설정 obj ")"메소드를 호출합니다. 루프 코드를 게시 할 수 있습니까?

"GetObject ("obj ")"는 컨테이너에 "obj"라는 이름의 개체를 요청하는 것입니다. 개체의 속성을 변경하고 목록에 추가하려고한다고 말한 것입니다. 설정 객체의 속성 : http://www.springframework.net/doc-latest/reference/html/objects.html#objects-simple-values 이 목록을 작성 : http://www.springframework.net/doc-latest/reference/html/objects.html#objects-collections-values

이 목록은 사용자가 선택한 객체에 주입 할 수있는이 컨테이너가 당신을 위해 할 수있는 일이다.

IObj의 비 - 싱글 톤 객체 만 원하면 naders 대답이 정확합니다. Spring은 이러한 비 - 싱글 톤 객체 "프로토 타입"을 호출합니다. 사용 가능한 범위에 대한 개요는 여기에서 확인할 수 있습니다. http://www.springframework.net/doc-latest/reference/html/objects.html#objects-factory-scopes

+0

좋은 지적. 최종 결과는 컨테이너가 제공 할 수있는 것일 수 있습니다. 여기있는 유일한주의 사항은 상황을 더 복잡하게 만드는 것을 피하는 것입니다. 때로는 컨테이너가 * 할 수 있기 때문에 * 사용할 수 있음을 의미하지는 않습니다. 코드에서 루프 + 수정 + 추가를하는 것이 더 간단 할 수 있습니다. 스프링 xml이 코드를 나쁜 것으로 만들지 않기 때문에 코드가 더 간단 할 수 있습니다. 그러나 이것은 모두 최종 목표가 무엇인지에 달려 있습니다. - 그리고 이제 저는 호기심이 생깁니다 ... –

관련 문제