Spring/Spring
Spring singleton vs Java static
김짜이상
2022. 4. 17. 16:26
큰 차이점은 Scope와 Thread Safe 여부이다.
Java의 static은 ClassLoader 기준이고, Spring singleton은 ApllicationContext 기준이다.
Tomcat을 was로 사용한다고 했을때, WebApplication별로 별도 클래스로더를 사용하여 동일 WebApplication끼리 공유할 수 있게 한다.
스프링 싱글톤은 DispatcherServlet 위에 등록된 ApllicationContext별로 공유하며 Spring IoC컨테이너에서 공유가 가능하다.
스프링 싱글톤은 IoC Container에 의해 Thread Safe를 자동으로 보장하게 되어 있다.
반응형