여우비오냐의 IT 기술
[다양한 어노테이션] @Scope 본문
@Component, @Configuration 은 실제 instance 를 생성하는것이 아닌 Bean 생성 템플릿. 즉, 부품 조립 할 때 부품의 주문서 만을 정의하는것이다. 실제 객체는 getBean() 메소드로 직접 참조하거나, 다른 Bean에서 참조할 때 생성된다.
➤ Bean 스코프란?
- Spring은 IoC 컨테이너에 선언한 Bean마다 정확히 Unique한 객체 하나씩만을 생성하고 전체 컨테이너 스코프에 공유되게 된다. 따라서 Bean을 참조하면 이렇게 유일무이한 객체가 반환되게 되는것인데, 이 때의 스코프를 기본 스코프인 singleton 이라고한다.
singleton | IoC 컨테이너당 Bean 인스턴스 하나를 생성 |
prototype | 요청할 때마다 Bean 인스턴스를 새로 만듦 |
request | HTTP 요청당 하나의 Bean 인스턴스를 생성한다. 웹에만 해당 |
session | HTTP 세션당 Bean 인스턴스 하나를 생성한다. 웹에만 해당 |
globalSession | 전역 HTTP 세션당 Bean 인스턴스 하나를 생성한다. 포털에만 해당 |
➤ @Scope(“prototype”) 예제
<1. @Scope 미사용>
<2. @Scope(“prototype”) >
'Spring Boot 문법' 카테고리의 다른 글
[다양한 어노테이션] MessageSource (0) | 2024.04.04 |
---|---|
[다양한 어노테이션] @PropertySource (0) | 2024.04.04 |
[다양한 어노테이션] @Autowired (0) | 2024.04.04 |
Bean 이란? (0) | 2024.04.04 |
[Injection] 의존 주입이란? (0) | 2024.04.04 |