[Spring] BeanScope

내용
BeanScope
singleton
prototype
session
request
globalSesssion
진행일시
2021/03/17
속성

1. BeanScope

1-1 Singleton

BeanScope의 기본설정은 singleton이다. singleton은 IoC컨테이너당 하나의 인스턴스만 생성한다. 그래서 인스턴스를 각각생성해도 hashCode와 get에 대한 정보가 일치한다
Singleton 예시

2. BeanScope의 종류

prototype : 요청할 때마다 빈 인스턴스를 새로 만든다. request : HTTP 요청당 하나의 빈 인스턴스를 생성한다.(웹 애플리케이션 컨텍스트에만 해당된다.) session : HTTP 세션당 빈 인스턴스를 하나 생성한다. (웹 애플리케이션 컨텍스트에만 해당된다.) globalSession : 전역HTTP세션당 빈 인스턴스를 하나 생성한다.(포털 애플리케이션 컨텍스트에만 해당된다.)

2-1 prototype

호출할 때 마다 인스턴스를 새롭게 생성하여 반환해준다.
Singleton과 반대이며 호출할 때마다 생성되는 hashCode도 각각 다르다.
javaconfig에서는 ContextConfiguration 파일이 있는 Scope에 "prototype"이라고 설정해준다.
xmlconfig에서는 <bean id="" class="" scope="prototype"></bean> 라고 설정해준다.
prototype에 예시