본문 바로가기
IT/Spring

Scope

by 봉즙 2019. 7. 26.

세션 : 서버에 사용자의 정보를 저장

쿠키 : 브라우저에 사용자의 정보를 저장

소켓을 통한 UDP 로 메신저 구현 TCP로 채팅을 구현

 

UPD : 패킷 손실에 문제가 없는 스트리밍 같은 동영상에서 사용

TCP : Qos보장 패킷전송에 대한 보장(스트리밍에서 일시정지에 대한 패킷이 반드시 서버에 전송되어야 하기에 패킷에 대한 손실이 일어나서는 안됨)

http도 TCP/IP 기반의 프로토콜

 

세션 유지 : TCP/IP는 신뢰성을 유지하기 위해서 세션을 지속적으로 연결된 상태로 유지한다.
브라우저의 경우 신뢰성을 유지하기 위해서 패킷을 전송한 후에 close를 통해서 연결을 끊어준다.

 

bean객체를 매번 생성해야하는 경우 scope사용 default가 singleton

        Student student1  =  ctx.getBean("student",Student.class);

        System.out.println("이름 :"+ student1.getName());
        System.out.println("나이 :"+ student1.getAge());

        System.out.println("================================");

        Student student2 = ctx.getBean("student",Student.class);
        student2.setName("홍길자");
        student2.setAge(100);

        System.out.println("이름 :"+ student1.getName());
        System.out.println("나이 :"+ student1.getAge());

        System.out.println("================================");

위 코드의 경우 config파일에서 bean객체를 생성하였기 때문에  student1과 student2는 같은 객체를 가르키고 있다.

 

 

singleton : 스프링 컨테이너 한 개의 bean객체만 존재(기본값)

prototype : bean을 사용할 때 마다 객체 생성

request : HTTP 요청마다 bean객체 생성(WebApplicationContext에서만 적용 가능)

session : HTTP 세션마다 bean객체를 생성(WebApplicationContext에서만 적용 가능)

globl-session : 글로벌 HTTP세션에 대해 객체를 생성 (포틀릿 지원하는 컨텍스트에서만 적용 가능)

 

scope 4가지로 구분

작은 범위부터 큰범위

page -> request -> session -> application

'IT > Spring' 카테고리의 다른 글

MVC  (0) 2019.07.30
외부 파일 이용  (0) 2019.07.29
컨테이너와 bean의 생명 주기  (0) 2019.07.26
javaconfig이용  (0) 2019.07.25
c: p:  (0) 2019.07.25

댓글