복붙노트

[SPRING] Spring MVC에서 컨트롤러의 라이프 사이클

SPRING

Spring MVC에서 컨트롤러의 라이프 사이클

Spring MVC에서 Controller의 수명주기는 무엇입니까?

컨트롤러가 언제 만들어지며 언제 파괴됩니까? 여러 스레드간에 공유됩니까? 하나 이상의 요청으로 동시에 사용할 수 있습니까?

해결법

  1. ==============================

    1.다음은 라이프 사이클을 나타낸 것입니다.

    다음은 라이프 사이클을 나타낸 것입니다.

    http://www.flickr.com/photos/60896767@N00/89101625/sizes/l/

    예, 스레드 / 요청에 의해 공유됩니다. 스레드로부터 안전하도록 작성해야합니다. 그들은 무국적자 여야합니다. 일반적으로 모든 작업을 수행하는 Spring 서비스에 대한 참조가 있습니다. 컨트롤러는 웹 계층의 바인딩, 유효성 검사 및 라우팅을 처리합니다.

  2. ==============================

    2.컨트롤러는 단지 콩일 뿐이며, 싱글 톤이나 프로토 타입이 될 수 있습니다. Statefulness가 프로토 타입을 사용하기를 원한다면 기본적으로 싱글 톤입니다.

    컨트롤러는 단지 콩일 뿐이며, 싱글 톤이나 프로토 타입이 될 수 있습니다. Statefulness가 프로토 타입을 사용하기를 원한다면 기본적으로 싱글 톤입니다.

    http://www.digizenstudio.com/blog/2006/10/09/spring-controllers-with-prototype-scope/

  3. ==============================

    3.Spring MVC의 모든 컨트롤러는 싱글 톤입니다. 다른 일반적인 싱글 톤 빈처럼 컨트롤러의 인스턴스는 웹 애플리케이션 컨텍스트가 시작된 후에 생성되어 끝나기 전에 처리됩니다.

    Spring MVC의 모든 컨트롤러는 싱글 톤입니다. 다른 일반적인 싱글 톤 빈처럼 컨트롤러의 인스턴스는 웹 애플리케이션 컨텍스트가 시작된 후에 생성되어 끝나기 전에 처리됩니다.

    Spring이 성능을 위해 컨트롤러에 대해 일종의 캐시를 가지고 있기 때문에 컨트롤러 빈 정의에 다른 범위 (예 : 프로토 타입)를 지정하더라도 처음으로 획득 한 컨트롤러 인스턴스 만 반복적으로 사용됩니다.

  4. from https://stackoverflow.com/questions/1481993/controllers-life-cycle-in-spring-mvc by cc-by-sa and MIT license