Bean 범위 설정
singtone
: 하나의 Bean 정의에 대해 "하나의 객체만 존재" (기본 값)
: 같은 객체를 모두가 공유함
prototype
: 하나의 Bean 정의에 대해 "다수의 객체가 존재 가능"
: 서로 다른 객체
request - 하나의 Bean 정의에 대해 "HTTP Request 생명주기 안에서는 단 하나의 객체만 존재"
session - 하나의 Bean 정의에 대해 "하나의 HTTP Session 생명주기 안에서는 단 하나의 객체만 존재"
global session - 하나의 Bean 정의에 대해 "하나의 global HTTP Session 생명주기 안에 단 하나의 객체만 존재"
1. singleton
- scope="singleton" (기본), 객체를 1개만 만들어 놓고 다 같이 사용 한다.
- 하나의 Bean 정의에 대해 하나의 객체만 존재
singleton 설정
- kim1/kim2는 같은 객체를 공유 (주소 값 동일)
- 당연히 생성자도 1번만 실행 됨
<bean id="kim" class="exam01.Person" scope="singleton">
<property name="name" value="김유신"></property>
<property name="age" value="20"></property>
</bean>
Person kim1 = (Person)context.getBean("kim");
Person kim2 = (Person)context.getBean("kim");
2. prototype
- 하나의 Bean 정의에 대해 다수의 객체가 존재 가능
<bean id="kim" class="exam01.Person" scope="prototype">
prototype 설정
- kim1/kim2는 각각 다른 객체임 (주소 값 다름)
- 당연히 생성자도 각각 실행 됨
3. request
- 하나의 Bean 정의에 대하 HTTP Request 생명주기 안에서는 단 하나의 객체만 존재
4. session
- 하나의 Bean 정의에 대해 하나의 HTTP Session 생명주기 안에서는 단 하나의 객체만 존재
5. global session
- 하나의 빈 정의에 대해 하나의 global HTTP Session 생명주기 안에 단 하나의 객체만 존재
반응형
'개발 > 스프링(Spring)' 카테고리의 다른 글
(Spring) @ReqeustMapping GET/POST 방식 설정 (0) | 2022.06.05 |
---|---|
(Spring) MVC (0) | 2022.06.02 |
(Spring) 스프링 객체 생성 방법 (0) | 2022.06.01 |
Spring (0) | 2022.05.30 |
(Spring) 의존관계 설정 방법 (0) | 2022.05.26 |
댓글