작성자 없음
작성자 정보가 삭제된 글입니다.
작성
·
338
0
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.
1. 강의 내용과 관련된 질문을 남겨주세요.
2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.
(자주 하는 질문 링크: https://bit.ly/3fX6ygx)
3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.
(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)
질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.
=========================================
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예/아니오)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)
[질문 내용]
둘 다 요청 후에는 삭제되는 거 같은데 차이점을 모르겠습니다.
답변 2
0
안녕하세요. Sanggoe님, 공식 서포터즈 David입니다.
웹스코프의 경우 요청이 서버로 들어왔을 때 해당 스코프에 대한 상태가 활성화되어 웹스코프와 관련된 것을 처리할 수 있게 됩니다. 따라서, 요청이 없을 때에는 웹스코프에 대한 상태가 활성화되어 있지 않아서 해당 작업을 수행할 수 없습니다. 즉, 서버가 실행되고 있을 때와 실행되고 있는 서버로 요청이 들어왔을 때를 구분하셔서 생각하시면 웹스코프를 이해하시는 데 도움이 될 것 같습니다.
프로토타입 스코프의 경우, 싱글톤 스코프와 비교하면 이해가 쉽습니다. 프로토타입 스코프를 가진 빈은 생성 후 컨테이너에서 지속적으로 관리되지 않습니다. 즉, 컨테이너에 요청하여 객체를 반환 받으면 그 객체는 더이상 컨테이너와는 무관한 객체가 되어버립니다. 이에 반해 싱글톤 스코프를 가지는 빈의 경우, 컨테이너는 싱글톤 스코프를 별도로 관리(보관)하게 됩니다.
감사합니다.
0
안녕하세요.
웹 스코프(request, session, application, websocket)는 웹 애플리케이션과 관련하여 동작하는 범위 타입으로 스프링 컨테이너가 빈의 생성부터 삭제까지의 생명주기를 관리하게 됩니다.
- reuqest: HTTP 요청당 하나의 빈이 생성되며, 요청의 처리가 끝나면 삭제됩니다.
- session: Session당 하나의 빈이 생성되며, 세션이 종료되면 삭제됩니다.
- application: 서블릿 컨텍스트와 동일한 생명주기를 가집니다.
- websocket: 웹 소켓 연결당 하나의 빈이 생성되며, 웹 소켓 연결이 종료되면 삭제됩니다.
반면 프로토 타입 스코프는 스프링 컨테이너에 빈을 요청할 때마다 새로운 빈을 만들게 됩니다. 이 때 스프링 컨테이너는 빈 생성 및 의존 주입까지만 관여하고 이후에는 관리하지 않습니다.
- 스프링 컨테이너에 빈이 요청될 때 생성된 후 사용자가 빈의 삭제 메소드를 명시적으로 호출하거나, 다른 리소스나 객체에 대한 모든 참조가 제거 된 후 가비지 컬렉터에 의해서 삭제됩니다.