2013-03-06 2 views
1

나는 매개 변수를 얻는 서블릿을 가지고 있고 다른 객체 (responseObject)를 생성한다. 이 응답 객체는 다른 클래스의 많은 클래스에서 액세스되므로 해당 클래스에서 자동 응답해야합니다.객체를 생성 한 후 Spring에서 autowiring하기

다른 클래스는 responseObject에 내용을 추가 할 수 있습니다 (기본적으로 객체 수정).

그래서 합산 원하는 기능은 다음과 같습니다

  • 이 responseObject 먼저 서블릿 내부에 구축 될 것 같은가 다른 클래스
  • 을에서 액세스를 사용할 수 있어야합니다
  • 모든 새로운 서블릿 요청에 대한 새로운 responseObject
  • 이 개체에 액세스하는 다른 클래스는 일관성을 유지할이 개체의 콘텐츠를 추가/변경할 수 있어야합니다.

봄에 그런 일이 가능한지 궁금합니다.

프로토 타입 및 요청 범위를 시도했지만 오류가 발생했습니다. 주요 문제는 개체가 다른 클래스에 의해 수정되어야하며 요청이 계속 제공되는 동안 이러한 변경 사항이 필요하다는 것입니다.

답변

1

이것은 자동 와이어링이 사용되는 것이 아닙니다. 당신이 원하는 것은 응답 객체를 필요로하는 클래스/메소드에 전달하는 것입니다.

조언의 말 : 요청 및 응답 객체가 코드베이스를 지나치게 많이 방황하지 않도록하는 것이 좋습니다. 가능한 한 많이 사용하도록 제한하고 싶습니다 (예 : 서블릿). 서블릿은 응답을 생성하기 위해 여러 장소의 일부 데이터가 필요할 수 있습니다. 괜찮아. 데이터를 가져와 응답을 생성하십시오. 응답이있는 곳으로 데이터를 전달하는 것이 데이터가있는 곳으로 응답을 전달하는 것보다 낫습니다. 요청 객체와 동일하지만 그 반대의 경우. 기본 원칙은 입력을 출력에서 ​​분리하는 것이 가장 좋습니다.

+0

알겠습니다. 그것은 하나의 솔루션입니다. 내가 HTTP 요청을 받고 다른 클래스가 같은 결과를 얻은 후에는 빈을 구성 할 수 있습니까? – icedek

+0

예, 빈을 작성한 후에 매개 변수를 통해 전달하십시오. 자동 와이어 링은 싱글 톤의 인스턴스 생성 또는 명시 적 팩토리가없는 새 bean 작성을위한 것이지 오브젝트의 인스턴스를 전달하는 것이 아닙니다. –

관련 문제