스프링2012. 8. 31. 17:27

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를 공유할 때 발생할 문제들을 애초에 없애기 위함이다.

Posted by 미랭군