BeanFactory = ApplicationContext = IoC Container = Spring Container 가 생성/관리하는 빈 오브젝트는
특별한 설정이 없는 한, (빈의 scope이 prototype scope, request scope, session scope 이 아닌 이상..)
싱글톤 오브젝트이다.
이러한 이유로 Spring Container을 Sigleton Registry 라고도 부른다.
한 가지 기억해둘 것은 ..
빈으로 등록되는 클래스가 디자인 패턴의 하나인 Singleton pattern을 적용한 클래스가 아니다라는 점
빈으로 등록되는 클래스는 (private 생성자, public static getInstance() 메소드등이 없는) 평범한 클래스이다.
이 평범한 클래스를 빈 컨테이너가 관리하면.. Singleton object가 된다
또 한 가지 더 기억해둘 것은 ..
빈으로 등록할 클래스는 Singleton Object가 되기 때문에..
stateless 방식으로 만들어야 된 다는 점,
이유는 멀티쓰레드 환경에서 하나의 Object를 공유할 때 발생할 문제들을 애초에 없애기 위함이다.
'스프링' 카테고리의 다른 글
SecurityConfig (0) | 2022.05.25 |
---|---|
Spring Boot Sample (0) | 2021.03.07 |
MappingJacksonJsonView 쓸 때 JSON 밖으로 빼는 법(How to return a single JSON list) (0) | 2012.08.10 |
Spring Security - username 정보 가져오기 (0) | 2012.01.09 |
Role in Spring security (0) | 2011.05.18 |