아는 만큼 보인다/Spring Framework
Singleton Registry = ApplicationContext의 또 다른 이름
eyevsky
2012. 5. 4. 20:09
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를 공유할 때 발생할 문제들을 애초에 없애기 위함이다.