큰 차이점은 Scope와 Thread Safe 여부이다.
Java의 static은 ClassLoader 기준이고, Spring singleton은 ApllicationContext 기준이다.
Tomcat을 was로 사용한다고 했을때, WebApplication별로 별도 클래스로더를 사용하여 동일 WebApplication끼리 공유할 수 있게 한다.
스프링 싱글톤은 DispatcherServlet 위에 등록된 ApllicationContext별로 공유하며 Spring IoC컨테이너에서 공유가 가능하다.
스프링 싱글톤은 IoC Container에 의해 Thread Safe를 자동으로 보장하게 되어 있다.
반응형
'Spring > Spring' 카테고리의 다른 글
spring .env 에서 yaml 에 주입받기 (0) | 2023.09.14 |
---|---|
OpenJDK_VM_Warning 제거하기 (0) | 2023.02.06 |
Spring IoC Container (0) | 2022.05.31 |
스프링 @RequestParam 에서 Enum 으로 받기 (0) | 2021.02.16 |
스프링 부트 프로젝트 세팅 (0) | 2021.02.14 |