3.4. Bean scopes
설정 파일에서 bean들을 정의하고 다른 bean들 과의 종속성을 정의 하는 것 말고도 각각 bean들의 scope을 설정해 줄 수 있습니다.
Scope | Description |
---|---|
Spring Ioc 컨테이너 내에서 bean 정의 당 하나의 객체 |
|
매번 같은 Type의 새로운의 객체 |
|
Http request 당 하나 씩, web-aware ApplicationContext |
|
Http session 당 하나 씩, web-aware ApplicationCotext |
|
Scopes a single bean definition to the lifecycle of a |
3.4.1. The singleton scope
Container 당 하나의 객체라는 의미에서 singleton 입니다.[footnote]JVM의 classloader당 하나의 객체라는 의미의 GoF의 Singleton과는 다릅니다.[/footnote]
3.4.2. The prototype scope
bean을 요청 할 때[footnote]DI 되거나 getBean(String)에 의해 호출 될 때[/footnote] 마다 새로운 객체를 만들어 줍니다.
Singleton & Prototype
3.4.3. The other scopes
request, session, grobalSession은 web-based ApplicationContext에서 사용할 수 있습니다.[footnote]WebApplicationContext 인터페이스를 구현한 클래스들을 말하는 것이 아닐지 생각해 봤습니다.[/footnote]
3.4.4. Custom scopes
새로운 Scope을 만들거나 기존의 Scope을 변경할 수 있습니다.