Bean Scope
1. singleton
- spring container 가 생성 될 때 한번 생성 됨, container가 소멸 될 때 bean도 소멸 됨
- 생성 된 하나의 인스턴스는 single bean cache에 저장 되고, 해당 bean의 참조가 있으면 cache에서 객체를 반환 함
- default 값
2. prototype
- 모든 요청에서 새로운 인스턴스를 생성해서 반환
- 사용이 끝나면 정상적인 방식으로 Garbage Collector에 의해 제거 됨
3. request
- 하나의 HTTP request에 하나의 bean이 생성 됨
- web-aware spring application context 안에서 유효함
4. session
- 하나의 HTTP session에 하나의 bean이 생성 됨
- web-aware spring application context 안에서 유효함
5. global session
- 하나의 global HTTP session에 하나의 bean이 생성 됨
- portlet based web application 안에서 유효함
singleton을 사용하지 않는 경우
1. 쓰기가 가능한 상태를 지닌 객체
- 쓰기가 가능한 상태가 많아서 동기화 비용이 객체 생성 비용보다 큰 경우
2. 상태가 노출되지 않은 객체
- 내부 상태를 외부에 노출하지 않는 빈을 참조하여 다른 의존 객체와는 독립적으로 작업을 수행하는 객체
[참조]
'자바 > 스프링' 카테고리의 다른 글
Spring AOP (0) | 2019.04.01 |
---|---|
Spring Transaction (0) | 2019.03.15 |
IoC(Inversion of Controll) - 제어의 역전 (0) | 2019.02.13 |
DispatcherServlet (0) | 2019.02.11 |
Spring Bean 설정(XML) (0) | 2016.06.09 |